약 12000 개의 행을 포함하는 테이블 challenge
이 있습니다. 모든 점은 그 주변의 네 점에 연결됩니다. 예를 들어 100은 99 101 11 및 189에 연결됩니다. 작은 표로이 작업을 시도했지만 제대로 작동했지만 테이블 크기를 늘리면 쿼리가 기하 급수적으로 느려졌습니다. 끝내지도 않을거야. 내 쿼리는 여기Oracle에서 CONNECT BY를 사용하여 쿼리가 매우 느림 10
SELECT level, origin, destination
FROM challenge
WHERE destination = 2500
START WITH origin = 1
CONNECT BY NOCYCLE PRIOR destination = origin;
이 쿼리를 최적화하는 방법에 대한 조언은 크게 감사하겠습니다.
'대상'에 누락 된 색인을 추가 하시겠습니까? – dasblinkenlight
** 테이블 및 인덱스 정의를 표시해야합니다. ** 느린 쿼리를 진단하려면 설명이나 의역이 아닌 전체 테이블 및 인덱스 정의가 필요합니다. 테이블이 잘못 정의 된 것일 수 있습니다. 색인이 올바르게 작성되지 않았을 수 있습니다. 어쩌면 그 칼럼에 당신이 생각한 색인이 없을 수도 있습니다. 테이블과 인덱스 정의를 보지 않고는 말할 수 없습니다. 'EXPLAIN'을하는 방법이나 실행 계획을 얻는 방법을 알고 있다면 그 결과를 질문에 넣으십시오. –