쿼리속도문제..?
회원테이블
===============
No | name | age | ucode
----------------------------------
1 AAA 23 011020010031
2 BBB 35 011020010
3 CCC 10 010040022012
주소 테이블
================================
시도 | 시군구 | 법정동 | 행정동 | Ucode
==========================================================
서울시 서초구 방배동 방배2동 011020010031
서울시 서초구 양재동 양재2동 010040022012
결과
========================================================
이름 | 사는동
=========================================================
AAA 방배2동
BBB 방배동
CCC 양재2동
회원테이블에 약 50개의 필드가 잇고 원래는 40개정도필드를 출력하고 있고
그래서 주소테이블은 select 문에 주소테이블을 조회를 해서 사는동을 출력을 하고있는데 속도가 너무 늦습니다
ucode는 인덱스를 걸었고 조회는 아래와같이 했습니다
select 이름, (select case when Len(ucode) = 12 Then 행정동 Else 법정동 End from 주소테이블 B
where Left(B.Ucode, Len(A.Ucode)) = A.Ucode ) as 사는동
from 회원테이블 A
회원 데이타는 10만개 정도 있고 40개정도 춝력하는데 쿼리속도가 너무 늦습니다
어떻게 해야하나요?
지난번에 언급했던것 같은데..
현재 주소 테이블에는 12자리로만 구성되어 있는듯 한데 9자리 , 6자리 3자리 코드를 강제로 넣어 놓으시면 간단할 것 같은데요.
쿼리로만 속도 개선을 할필요는 없을듯 합니다.
원칙으로 하면 회원에 주소코드는 주소테이블에 있는 코드를 가지고 있어야 합니다.
그럼 등록되는 형식에 맞는 자료가 존재하도록 하시면 간단한 문제일듯 합니다.
COALESCE ( 행정동,법정동,시군구,시도 ) 이용하시면 ..
==========================================================
시도 | 시군구 | 법정동 | 행정동 | Ucode
==========================================================
서울시 NULL NULL NULL 011
서울시 서초구 NULL NULL 011020