본문 바로가기

TISTORY355

SQL 튜닝 이야기 _ IN SQL 튜닝 이야기 _ IN 특정 쿼리를 실행하면 1분 이상 걸리는 경우가 생겨서 확인해봤다. 해당 쿼리에서는.... 키값이 아닌 일반 컬럼값으로 조인을 했다. 게다가 그 컬럼은 인덱스도 없었다. 특별히 문제 없다고 생각했었던건 그냥 그렇게 조인을 해도 값은 4초정도 걸렸다. (키값으로 조인을 하니 깜빡!하는 1초만에 나온다.) 뭐가 문제이길래, 쿼리가 15초~60초 걸리는 걸까? IN에서였다. 일반 컬럼값으로 조인하고, 그 컬럼에 대해서 'WHERE 컬럼 IN' 조건이 만들어지면 쿼리의 수행속도가 어마어마하게 늘어나는 것을 확인했다. EXISTS를 사용해도 마찬가지다. 오늘 하루 종일 얻은 교훈은 1. 조인은 키값으로 하자. (어지간하면)2. 키값이 아닌 일반 컬럼값으로 조인을 하면, WHERE IN .. 2015. 4. 8.
DB2 테이블 스페이스 DB2 테이블 스페이스 사용량 계산 테이블 스페이스 사용량을 볼 수 있는 쿼리이다. /* SELECT varchar(tbsp_name, 30) as tbsp_name, reclaimable_space_enabled, tbsp_free_pages, tbsp_page_top, tbsp_usable_pages FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t ORDER BY tbsp_free_pages ASC*/ 해당 쿼리를 실행하면 볼 수 있다. ** 2016.08 추가내용 해당 쿼리 보다 더 자세한 내용한 적었습니다. 아래 링크를 통해서 확인해보세요. 링크 : http://toyuq.tistory.com/168 출처 및 참고사이트 : http://www-01.ibm.com/sup.. 2015. 4. 8.
DB2 DESC 테이블 컬럼 정보 확인 DB2에서 테이블 컬럼 정보를 확인하는 방법 DESC 테이블이름 하면 나올 줄 알았는데.... 나오지 않는다; DB2는 여전히 내가 싫은가보다... SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME = '테이블이름' 해당 테이블의 컬럼 정보를 자세히 알 수 있다. 다른 방법은 DESCRIBE TABLE "테이블이름" 하면 나온다. 2015. 4. 6.
DB2 버전 확인 쿼리 SELECT SERVICE_LEVEL FROM SYSIBMADM.ENV_INST_INFO 해당 쿼리를 입력하면 DB2의 버전을 볼 수 있다. *주의 : 9.1 버전 이후에서만 가능하다. 9.1보다 낮은 버전에서는 쿼리로 확인이 불가능하다. 2015. 4. 6.