단일 연결 목록 (ID, 상위)을 구현 한 테이블을 사용하고 있습니다. 이 구현은 잘 작동 해 왔습니다. 최근 목록이 길어지고 개별적으로 노드를 쿼리했기 때문에 성능이 참을 수 없게되었습니다.연결된 목록에 대한 mysql 쿼리
단일 쿼리에서 쿼리하는 방법에 대한 유망한 블로그를 발견했습니다. http://explainextended.com/2009/03/25/sorting-lists/
SELECT @r AS _parent,
@r := (
SELECT id
FROM t_list
WHERE parent = _parent
) AS id
FROM (
SELECT @r := 0
) vars,
t_list
필자는 MySQL을 사용하기에 충분한 지식이 없다. 내가 가진 질문은 블로그 댓글에 게시 한 것과 동일합니다. 시작할 레코드/노드를 설정하는 방법은 무엇입니까? 예제 테이블에서 id 3부터 시작하고 싶다. 그리고 그것이 명단의 끝을 때리고 멈춰야하는 때를 어떻게 알 수 있습니까? 나는 그것을 시험해 보았고 그것은 단지 영원히 계속된다. (아마도 이전 질문과 관련하여 부적절한 사용으로 인해).
감사합니다.
당신이 당신의 설정을 게시하시기 바랍니다 수 http://sqlfiddle.com 또는 데이터베이스 덤프를 준비 하시겠습니까? – Quassnoi