0
답변 1 인덱스를 타지않는 쿼리 답변 1 (/p/mssql)
인덱스를 타지 않는 쿼리로 다음과 같은 경우가 있는데  테스트결과 빨간색의 경우에는 확인을 하였습니다. 하지만 초록색의 결과는 실행계획을 확인해보았을 ..
인덱스를 타지 않는 쿼리로 다음과 같은 경우가 있는데 
테스트결과 빨간색의 경우에는 확인을 하였습니다.
하지만 초록색의 결과는 실행계획을 확인해보았을 때 인덱스를 타는걸로 보여지는데 왜 그럴까요..?
 
-LIKE ‘%문자열%’로 검색하는 경우

SELECT * FROM TGOLFZON WHERE UserName = ‘%곽%’ -> UserName = ‘곽%’

 

-조건 절에 IS NULL , IS NOT NULL 구문을 사용하는 경우

 

-부정 연산자(!=,<>,NOT IN, NOT EXISTS)를 사용하는 경우

NOT일 경우 무조건 인덱스를 안타는 것이 아니라 타지만 일반적으로 NOT에 사용된 값이 아닌 데이터 비율이 높은 경우가 많기 때문에 인덱스를 타지 않는다.

 

-내부적인 데이터 형이 변경될 경우

SELECT * FROM TGOLFZON WHERE UserNo = ’33’ -> UserNo= 33

 
-OR 구문을 사용하는 경우

INDEX FULL SCAN 을 타게 됨

 
-인덱스 컬럼 절이 변경될 경우

SELECT * FROM TGOLFZON WHERE CashAmt * 100 > 10000 -> CashAmt = 10000/100

db 인덱스 index null
+
yous3163 님께서 2개월 전에 MS SQL에 올린 질문

인덱스를 타지않는 쿼리

0
답변 1 인덱스를 타지않는 쿼리 답변 1 (/p/mssql)
인덱스를 타지 않는 쿼리로 다음과 같은 경우가 있는데  테스트결과 빨간색의 경우에는 확인을 하였습니다. 하지만 초록색의 결과는 실행계획을 확인해보았을 ..
인덱스를 타지 않는 쿼리로 다음과 같은 경우가 있는데 
테스트결과 빨간색의 경우에는 확인을 하였습니다.
하지만 초록색의 결과는 실행계획을 확인해보았을 때 인덱스를 타는걸로 보여지는데 왜 그럴까요..?
 
-LIKE ‘%문자열%’로 검색하는 경우

SELECT * FROM TGOLFZON WHERE UserName = ‘%곽%’ -> UserName = ‘곽%’

 

-조건 절에 IS NULL , IS NOT NULL 구문을 사용하는 경우

 

-부정 연산자(!=,<>,NOT IN, NOT EXISTS)를 사용하는 경우

NOT일 경우 무조건 인덱스를 안타는 것이 아니라 타지만 일반적으로 NOT에 사용된 값이 아닌 데이터 비율이 높은 경우가 많기 때문에 인덱스를 타지 않는다.

 

-내부적인 데이터 형이 변경될 경우

SELECT * FROM TGOLFZON WHERE UserNo = ’33’ -> UserNo= 33

 
-OR 구문을 사용하는 경우

INDEX FULL SCAN 을 타게 됨

 
-인덱스 컬럼 절이 변경될 경우

SELECT * FROM TGOLFZON WHERE CashAmt * 100 > 10000 -> CashAmt = 10000/100

db 인덱스 index null
+
yous3163 님께서 2개월 전에 MS SQL에 올린 질문

1개의 답변

1
[답변]인덱스를 타지않는 쿼리 (/p/mssql)
MS SQL에서는 NULL도 인덱싱이 될 수 있습니다.  

MS SQL에서는 NULL도 인덱싱이 될 수 있습니다.

 

사탕 주기
+
kimho 님께서 2개월 전에 MS SQL에 올린 글
조회수 371
답글 1
URL