검색결과 리스트
글
SQL
2014. 3. 7. 12:45
SQL 최적화
SQL 명령문을 작성할 때 고려해야하는 사항들을 몇가지 정리..
<=, >= 대신 BETWEEN 연산자를 사용
범위에 포함된 값을 찾기 위해 WHERE 절에 <=, >= 연산자를 사용한다면 일반적으로 인덱스를 사용하지 않는다.
SELECT name, height FROM userTbl WITH(NOLOCK) WHERE height >= 180 AND height <= 183
-> SELECT name, height FROM userTbl WITH(NOLOCK) WHERE height BETWEN 180 AND 183
OR 연산자 대신 IN 연산자를 사용
조건에 OR 연산자를 가지고 있다면 대부분의 경우 인덱스를 사용하지 않는다.
SELECT name, height FROM userTbl WITH(NOLOCK) WHERE height = 180 OR height = 183 OR height = 184
-> SELECT name, height FROM userTbl WITH(NOLOCK) WHERE height IN ( 180, 183, 184)
NOT 연산자를 피해라.
조건에 NOT 연산자를 가지고 있다면 일반적으로 인덱스를 사용하지 않는다.
WHERE NOT (height < 1980)
-> WHERE height > 1979
나머지는 다음에..
RECENT COMMENT