안녕하세요 :) 성능 문제에 대해 중첩 된 쿼리가 중첩되어 있어야한다는 것을 이해해야합니다.Oracle의 SQL : 중첩 된 쿼리의 재구성 중지
SELECT * FROM (
SELECT
UTL_MATCH.JARO_WINKLER_SIMILARITY(clients_me.address, clients_them.address) jw,
clients_them.*,
clients_me.*
FROM clients_them JOIN clients_me ON clients_me.email = clients_them.email
) WHERE jw > 80
성능이 괜찮 마지막 WHERE jw > 80
없이 : 여기
안부
하는 경우에만 응용 프로그램에서 상위 N 행을 선택하는 :
다음과 같이 힌트를 추가보십시오? 이러한 유형의 변경으로 인해 처음 N 개의 행이 더 빨리 반환 될 수 있지만 전체 데이터 집합을 검색하는 속도는 느리거나 나 빠집니다. –
쿼리에서 JARO_WINKLER_SIMILARITY를 제거하고 client_them. * 및 clients_me. *에 처음 참여하는 방법을 확인하십시오. ... ... – Art
어, 성능상의 이유로 저장된 proc 파일의 사용을 살펴 보겠습니다. 결국 모든 단일 행에 대해 무언가를 계산해야한다면 옵티마이 저가 할 수 있습니다. 아마도 다른 레벨을 중첩 할 것입니까? 또한 [범위가 0에서 1까지 인 것 같습니다] (http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance), '80 '을 올바르게 사용했는지 확인하십시오 (예 : , 나는 십진법을 사용하고있을 것인가?) –