질의작성

CUBRID설치 후 default설정 상태에서 Query Plan보기(CSQL모드)

by cubebridge posted Dec 31, 2009
CUBRID제품을 설치하게되면 max_plan_cache_entries 파라미터가 default값 1000으로 설정된다.

max_plan_cache_entries란 메모리에 캐시하는 쿼리 플랜의 최대 개수를 설정하는 파라미터이다. 이는 숫자에 맞춰 동일한 쿼리에 대한 결과를 개시하는 쿼리 개시 기능을 적용할 수 있다. 좋은 기능이나 cache되어 있는 Query는 Plan을 볼 수 없다. 이때 parameter를 변경(-1 or 0)하는 방법 외에 간단하게 쿼리에 hint를 이용하는 방법을 전달하려 한다.

쿼리 플랜을 보는 방법은 아래와 같다.
1. csql모드에 접속한다.
예) $csql <db_name>
2. csql모드에서 Query Plan level을 설정한다.(level의 숫자에 대한 내용은 튜토리얼을 참조한다)
예) csql>;set level 257
or
csql>set optimization level 257
csql>;x
3.쿼리를 수행한다. 단 그냥 수행할 경우 Query Plan을 볼 수 없다.
예) csql>select /*+ recompile */ A, B from Stable where C=...
csql>;x
4. Query Plan결과를 확인한다.

3번에서의 hint /*+ recompile */을 이용하여 parameter의 설정 변경없이 Query Plan을 확인할 수 있다.



Articles

3 4 5 6 7 8 9 10 11 12