반응형
SQL 서버:인덱스 열은 유사하게 사용됩니까?
LIKE 작업에만 사용되는 varchar 열을 인덱싱하는 것이 좋은 생각입니까?쿼리 분석에서 확인할 수 있는 것은 다음 쿼리에서 확인할 수 있습니다.
SELECT * FROM ClientUsers WHERE Email LIKE '%niels@bosmainter%'
저는 지수가 없는 0.38, 지수가 있는 0.14의 "하위 트리 비용 추정치"를 얻습니다.쿼리가 인덱스로 최적화된 경우 레이징에 사용하기 좋은 메트릭입니까?
데이터 'abcdefg'가 주어지면
WHERE Column1 LIKE '%cde%' --can't use an index
WHERE Column1 LIKE 'abc%' --can use an index
WHERE Column1 Like '%defg' --can't use an index, but see note below
참고: '%defg'가 필요한 중요한 쿼리가 있는 경우, 영구 계산 열을 사용하여 열을 역방향()으로 인덱싱할 수 있습니다.그러면 다음에 대해 쿼리할 수 있습니다.
WHERE Column1Reverse Like REVERSE('defg')+'%' --can use the persistent computed column's index
제 경험상 처음 % 기호는 어떤 인덱스도 쓸모없게 만들 것이지만, 마지막에 하나는 인덱스를 사용할 것입니다.
질문의 메트릭 부분에 답변하기수행 중인 인덱스/테이블 스캔/검색 유형은 인덱스가 (적절하게) 사용되고 있는지 여부를 알 수 있는 좋은 지표입니다.일반적으로 쿼리 계획 분석기의 맨 위에 표시됩니다.
다음 스캔/검색 유형은 최악(위)에서 최상(아래)으로 정렬됩니다.
- 테이블 스캔
- 클러스터된 인덱스 검색
- 인덱스 검색
- 클러스터된 인덱스 검색
- 색인 찾기
일반적으로 가능하면 검색을 통해 검색을 시도합니다.항상 그렇듯이 테이블 크기, 쿼리된 열 등에 따라 예외가 있습니다.StackOverflow에서 "스캔 검색 인덱스"를 검색하는 것이 좋습니다. 그러면 이 주제에 대한 많은 좋은 정보를 얻을 수 있을 것입니다.
언급URL : https://stackoverflow.com/questions/1388059/sql-server-index-columns-used-in-like
반응형
'programing' 카테고리의 다른 글
CORS + Cordova : 다음 문제: 액세스-제어-원산지 허용 (0) | 2023.08.25 |
---|---|
구글 크롬에서 실패한 아약스 요청을 디버그하는 방법은 무엇입니까? (0) | 2023.08.25 |
mysql my.cnf 최적화 중 - 메모리 사용량이 위험할 정도로 높습니다. (0) | 2023.08.25 |
jQuery를 사용하여 div에 특정 클래스의 자식이 있는지 확인 (0) | 2023.08.25 |
Opensl : "인증서 체인의 자체 서명된 인증서" 오류 (0) | 2023.08.25 |