이름 부분에 대한 열을 포함하는 2 개의 테이블이 있습니다. 즉, John Doe에는 John 행과 Doe 행이 있습니다. 2 개의 테이블은 서로 다른 이름을 가지고 있습니다. 하나의 테이블에서 이름 부분을 가져 와서 다른 부분의 이름 부분에 대한 차이점을 계산해야합니다. 지금은 두 개의 테이블 각각을 반복하는 내부 및 외부 커서를 사용하고 있습니다. 이 작동하지만 실행하는 데 오랜 시간이 걸립니다.2 테이블의 이름 열 사이의 SQL 차이 함수
속도를 높이는 다른 방법이 있습니까?
내가 할 노력하고있어의 예 :
표 1
Name
----
John
Doe
Jan
Smith
표는 내가 필요로 무엇을 2
Name
-----
Henry
Ford
Ransom
Eli
Olds
:
DIFFERENCE('John','Henry')
DIFFERENCE('John','Ford')
DIFFERENCE('John','Ransom')
DIFFERENCE('John','Eli')
DIFFERENCE('John','Olds')
DIFFERENCE('Doe','Henry')
DIFFERENCE('Doe','Ford')
DIFFERENCE('Doe','Ransom')
DIFFERENCE('Doe','Eli')
DIFFERENCE('Doe','Olds')
DIFFERENCE('Jane','Henry')
DIFFERENCE('Jane','Ford')
DIFFERENCE('Jane','Ransom')
DIFFERENCE('Jane','Eli')
DIFFERENCE('Jane','Olds')
DIFFERENCE('Smith','Henry')
DIFFERENCE('Smith','Ford')
DIFFERENCE('Smith','Ransom')
DIFFERENCE('Smith','Eli')
DIFFERENCE('Smith','Olds')
지금이 차이점을 저장합니다. sco 테스트를 위해 임시 테이블에 res. 형식이 지정되지 않아서 죄송합니다. 여기 게시하는 것이 처음입니다. 도와 주셔서 감사합니다.
그래서 정확히 문제는 무엇인가는? – Mureinik
28,000 개가 넘는 레코드가있는 테이블이 하나 있는데 5,000 개가 넘는 다른 테이블과 비교하고 있습니다. 내가 수학을 잘못하지 않으면, 합쳐진 기록이 160,000,000 개가 넘을 것이며 처리하는데 3.5 시간이 걸릴 것입니다. 소요될 수있는 시간을 줄이는 더 빠른 프로세스가 있습니까? 감사. – carl20236
@ carl20236 오히려 여기 새로 왔으므로 (Btw : 환영합니다!) 한 가지 힌트를 허용하십시오. (최고) 응답 표 카운터 아래에서 수락 확인을 체크하는 것은 매우 친절합니다. 이것은 1)이 이슈를 해결 된 것으로 표시 할 것입니다. 2) 추종자가 가장 좋은 해결책을 쉽게 찾을 수 있도록합니다. 3) 응답자에게 포인트를 지불하고 4) 포인트를줍니다. 15 포인트의 경계를 넘어 가면 추가로 기부금에 투표하게됩니다. 이것은 당신을 감사하는 SO 방법입니다. 해피 코딩! – Shnugo