MySQL의 계층적 쿼리: 깊이 우선 검색으로 상위 항목 탐색
계층적 데이터 내에서 상위 관계를 확인하는 것은 데이터베이스 관리에서 일반적인 작업입니다. MySQL에서 계층적 쿼리를 사용하면 중첩 구조에서 데이터를 효과적으로 탐색하고 검색할 수 있습니다.
계층적 상위-하위를 나타내는 두 개의 열 'a'와 'b'가 있는 'mytable'이라는 테이블이 있다고 가정해 보겠습니다. 관계:
| a | b | ---------- | 1 | 2 | | 2 | 3 | | 3 | 4 | | 4 | 5 | | 3 | 6 | | 4 | 7 |
특정 노드의 모든 조상을 검색하려는 시나리오를 고려해 보세요. 예를 들어 모든 부모, 조부모, 등이 있습니다.
profondità의 l'algoritmo di ricerca 활용 솔루션:
MySQL은 깊이 우선 검색(DFS)을 사용하여 계층적 쿼리 솔루션을 제공합니다. ) 접근하다. 다음은 이를 수행하는 쿼리입니다.
SELECT @id := ( SELECT senderid FROM mytable WHERE receiverid = @id ) AS person FROM ( SELECT @id := 5 ) vars STRAIGHT_JOIN mytable WHERE @id IS NOT NULL
분석:
이 쿼리를 실행하면 노드 5의 상위 목록인 4, 3, 2, 1이 검색됩니다. 이 방법은 DFS 접근 방식을 사용하여 계층 구조를 효과적으로 탐색하므로 다음을 수행할 수 있습니다. MySQL 데이터베이스 내에서 복잡한 상위-하위 구조를 탐색합니다.
위 내용은 MySQL의 깊이 우선 검색은 어떻게 계층 구조에서 노드의 모든 조상을 효과적으로 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!