본문 바로가기
IT 자료

SQL 튜닝 이야기 _ IN

by 성곤 2015. 4. 8.
반응형


SQL 튜닝 이야기 _ IN



특정 쿼리를 실행하면 1분 이상 걸리는 경우가 생겨서 확인해봤다.


해당 쿼리에서는....


키값이 아닌 일반 컬럼값으로 조인을 했다.


게다가 그 컬럼은 인덱스도 없었다.



특별히 문제 없다고 생각했었던건


그냥 그렇게 조인을 해도 값은 4초정도 걸렸다.

(키값으로 조인을 하니 깜빡!하는 1초만에 나온다.)



뭐가 문제이길래, 쿼리가 15초~60초 걸리는 걸까?


IN에서였다.



일반 컬럼값으로 조인하고,

그 컬럼에 대해서 'WHERE 컬럼 IN' 조건이 만들어지면 쿼리의 수행속도가 어마어마하게 늘어나는 것을 확인했다.


EXISTS를 사용해도 마찬가지다.





오늘 하루 종일 얻은 교훈은


1. 조인은 키값으로 하자. (어지간하면)

2. 키값이 아닌 일반 컬럼값으로 조인을 하면, WHERE IN 에서 수행속도가 어마어마하게 늘어난다.






반응형

'IT 자료' 카테고리의 다른 글

0xc0000018 실행오류  (0) 2015.04.24
DB2 테이블 재구성 SQLSTATE=57016  (0) 2015.04.17
DB2 테이블 스페이스  (0) 2015.04.08
DB2 DESC 테이블 컬럼 정보 확인  (0) 2015.04.06
DB2 버전 확인 쿼리  (0) 2015.04.06