data 는 30만건 정도 됩니다.

기존에는 검색 필드 를 단일로  선택해서 검색 했었습니다.

요청이 들어와서 통합 검색을 하다보니 저렇게 or 구문이 많습니다.

검색 하면 6초 정도 걸리는데요.

p_idx 는 PRIMARY KEY CLUSTERED  로 잡혀 있습니다.

replace 처리를 뻬면 3초 가 줄어 들긴 하는데요.

띄워 쓰기 를 해도 검색이 되게 해 달라는 요청이 있어서 저렇게 공백 처리를 했습니다.

좀더 빠르게 하고 싶습니다.

 

select top 100 a.p_tci_no, b.addr1 as cart, v_key --많아서 일부만 표시 했습니다.

from product a inner join product_pack b on a.p_tci_no = b.p_tci_no
where a.p_idx>0 and b.p_idx>0
and
 (
  Replace(a.p_tci_no,' ','') = 'ab' or
  Replace(a.p_product,' ','') like '%검색어%' or
  Replace(a.p_casno,' ','') = 'ab' or
  Replace(a.p_elements,' ','') like '%검색어%' or
  Replace(a.p_tci_no,' ','') = 'ab' or
  Replace(a.pdongil1_,' ','') like '%검색어%' or
  Replace(a.p_dongil2,' ','') like '%검색어%' or
  Replace(a.p_dongil3,' ','') like '%검색어%' or
  Replace(a.p_dongil4,' ','') like '%검색어%' or
  Replace(a.p_dongil5,' ','') like '%검색어%' or
  Replace(a.p_dongil6,' ','') like '%검색어%' or
  Replace(a.p_dongil7,' ','') like '%검색어%'

 )

and a.p_idx not in (

select top 0 a.p_idx from product a inner join product_pack b on a.p_tci_no = b.p_tci_no where a.p_idx>0
and b.p_idx>0 and

 (
  Replace(a.p_tci_no,' ','') = 'ab' or
  Replace(a.p_product,' ','') like '%검색어%' or
  Replace(a.p_casno,' ','') = 'ab' or
  Replace(a.p_elements,' ','') like '%검색어%' or
  Replace(a.p_tci_no,' ','') = 'ab' or
  Replace(a.p_dongil1,' ','') like '%검색어%' or
  Replace(a.p_dongil2,' ','') like '%검색어%' or
  Replace(a.p_dongil3,' ','') like '%검색어%' or
  Replace(a.p_dongil4,' ','') like '%검색어%' or
  Replace(a.p_dongil5,' ','') like '%검색어%' or
  Replace(a.p_dongil6,' ','') like '%검색어%' or
  Replace(a.p_dongil7,' ','') like '%검색어%'
 )

order by A.p_idx desc )

order by A.p_idx desc

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 23705
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12432
7420 안녕하세요.. 부끄러운 질문하나 하겠습니다.. [1] 상구 2013.12.10 4198
7419 조건절에 UDF(사용자정의함수)를 사용하는 상황에서 막히는 게 있어 질문드립니다. [2] 김락중_278785 2013.12.10 3999
7418 대용량 테이블 데이터 질문드립니다. [3] sams 2013.12.10 10031
7417 MSSQL 2005 유지관리계획시 오류메세지입니다. [2] 이희승_304434 2013.12.09 5204
7416 사용자 계정별 권한 부여를 문의합니다. [4] 전화귀 2013.12.09 4333
7415 현 서버의 Table을 이전을 하고 싶은데요 [1] 김락중_278785 2013.12.09 3846
7414 SQL문 자동완성 [1] HSQL 2013.12.09 8284
7413 그룹 최고값 update 하는 방법있나요? [4] 우츄프라 2013.12.09 4130
7412 SP 하나가 있는데 용도와 목적에 대해 조언좀 구합니다. Larry 2013.12.09 4215
7411 오프라인 -> 온라인으로 변경방법 [2] 최영범 2013.12.09 3795
7410 sql2008에서 sql2012 접속시 문의드려요 [2] 끝이없네요 2013.12.09 8695
7409 반복 업데이트? 에 관한 질문드려요 [3] WhoAmI 2013.12.07 4263
7408 여러개의 필드를 하나의 필드로 만드는 qEURY 알려 주세요. [1] 항상비기너2 2013.12.06 3833
7407 필드명 정확하지 않을때 필드값을 가지고 필드명을 찾을 수 있나요? [4] dolphine 2013.12.06 4142
7406 XML type에서 white space 유지하기 [2] 재우 2013.12.06 3922
» 쿼리 속도 개선 좀 문의 드립니다. [6] 죠리퐁 2013.12.06 5898
7404 MSSQL 쿼리에서 테이블명 기술할 때 질문 [3] sams 2013.12.06 20243
7403 sql 2000에서 되던 쿼리가 sql2008R2 에선 안되네요;; [4] 마니워니 2013.12.05 4463
7402 선배님들 인덱스에 관하여 질문이 있습니다. [4] alima 2013.12.05 4448
7401 주어진 시간으로 일자와 오전 오후를 리턴할려고 하면 어떻게 하나요? [3] 동도리군 2013.12.05 4481





XE Login