db는 mssql을 사용하고 있습니다.
데이터 건수는 50만건정도 들어 있습니다.
각 레코드마다 전화 필드가 5개씩 있습니다.
조회쿼리에서 전화번호 하나를 주고 전 래코드에서
전화필드5게중에 하나라도 캍은 전화번호가 있으면
가져오라고 만들고 싶습니다.
select
a.reader_cd,
a.reader_nm,
a.addr1,
a.addr2,
a.addr3,
a.expand_gu,
a.receive,
a.ho,
a.buis,
a.receive
from custor a
where a.tel like '033-643-6792%'
or a.tel1 like '033-643-6792%'
or a.tel2 like '033-643-6792%'
or a.tel3 like '033-643-6792%'
or a.hp like '033-643-6792%'
이렇게만 조회를 하면 바로 가져오는데
select
a.reader_cd,
a.reader_nm,
a.addr1,
a.addr2,
a.addr3,
a.expand_gu,
a.receive,
a.ho,
a.buis,
a.receive,
b.codenm sawon_nm,
c.codenm supply_nm
from custor a, sawon b, supply c
where a.tel like '033-643-6792%'
or a.tel1 like '033-643-6792%'
or a.tel2 like '033-643-6792%'
or a.tel3 like '033-643-6792%'
or a.hp like '033-643-6792%'
and a.buis *= b.code
and a.expand_cd *= c.code
이렇게 하면 같은 독자를 많이 조회를 해서
로우수가 커집니다.
어떻게 해야 하는지 답변을 부탁드립니다.
|