Background Image
운영관리
2015.12.29 08:59

cubrid plandump ( plan cache정보확인)

조회 수 4300 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

CUBRID 가 제공하는 기능에서 plandump]라는 유틸리티가 있다.

 

매뉴얼을 (Ver. CUBRID 9.3 기준) 보면 아래와 같다.

 

 

질의 수행 계획 캐시 확인

cubrid plandump 유틸리티를 사용해서 서버에 저장(캐시)되어 있는 질의 수행 계획들의 정보를 출력할 수 있다.

cubrid plandump [options] database_name
  • cubrid: CUBRID 서비스 및 데이터베이스 관리를 위한 통합 유틸리티이다.
  • plandump: 대상 데이터베이스에 대하여 현재 캐시에 저장되어 있는 질의 수행 계획을 출력하는 명령이다.
  • database_name: 데이터베이스 서버 캐시로부터 질의 수행 계획을 확인 또는 제거하고자 하는 데이터베이스 이름이다

옵션 없이 사용하면 캐시에 저장된 질의 수행 계획을 확인한다.

cubrid plandump testdb

다음은 cubrid plandump에 대한 [options]이다.

-d, --drop

캐시에 저장된 질의 수행 계획을 제거한다.

cubrid plandump -d testdb
-o, --output-file=FILE

캐시에 저장된 질의 수행 계획 결과 파일에 저장

cubrid plandump -o output.txt testdb

 (출처: http://cubrid.org/manual/ko/9.3.0/admin/admin_utils.html#plandump )

 

 

서버에 저장(캐시)되어 있는 질의 수행 계획들의 정보를 출력한다고 하는데..

어떻게 동작되는지, 활용방법은 무엇인지 간단히 정리한다.

 

 

 

[ 신규 DB생성 후의 plandump-화면1 ]

111.PNG

 

 

[몇 가지 질의문 수행 후의 plandump -화면2]

222.PNG

 

 

 [화면2]에서 보다시파, CUBRID 서버에 캐시되어 있던 질의 수행 계획들을 출력하여 보여준다.

항목에 대한 설명은 아래와 같다.

 

 항목

설명 

 MAX

 plan cache에 저장할 수 있는 최대 항목 수

 NUM

 현재 저장되어 있는 항목 수

 LOOKUP

 LOOKUP한 횟수

 HIT

 HIT한 횟수

 MISS

 실패한 횟수. 이는 대체로 NUM과 비슷함.

 FULL

 FULL이 났던 횟수

 

 

CUBRID는 기본적으로 Plan cache를 사용한다.

질의문이 주어지면 Clientxasl stream을 생성하여 server로 전달하게 된다. Server는 전달받은 xasl stream xasl tree로 변환한 다음에 xasl tree를 수행하여 질의 결과를 client로 전달한다. 이후에 xasl tree xasl stream을 버리게 된다. Plan cacheServer xasl stream을 버리지 않고 재사용하는 기능이다.

 

Plan cache 기능을 켜면,

질의 문은 prepare/execute의 두 단계로 수행된다.

1.   Client는 질의 문 string server로 전달하여 server에 저장된 xasl stream ID를 얻어온다.(이때 저장되어 있지 않으면 xasl stream을 생성, 전달하여 server에 저장하도록 한 이후에 xasl stream ID를 얻어온다. Xasl stream ID XASL_ID라고 한다. XASL_ID를 얻는 것을 prepare 단계라 한다.

2.   Client XASL_ID server로 전달하여 질의문의 결과집합을 요청한다. Server는 해당 xasl stream xasl tree로 변환하여 이를 수행하여 질의 결과를 client로 전달하고 xasl tree를 버린다. 이를 execute 단계라 한다.

 

장점으로,

▶▶ client에서 xasl 생성 비용이 제거된다. (장점으로 인한 성능향상이 큼)

단점으로,

▶▶ client에서 XASL_ID를 얻어오기 위해서 별도의 통신 비용, server cache 탐색 비용이 발생한다. Cache full 발생시에 victimize 비용이 발생한다.(prepare 단계)

▶▶ client에서 XASL_ID를 주면 해당 xasl stream이 저장되어 있는 파일을 읽는 비용이 발생한다.(최악의 경우에 Disk I/O 발생)

 

 

CUBRID에서 기본적으로 Plan cache기능을 제공하고 있지만, plandump 유틸리티를 사용하여 정상적으로 동작하고 있는지 확인이 가능하다.

 

 

 

 

 


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
239 질의작성 스키마에서 한글 사용하는 방법 file seongjoon 2009.04.14 15362
238 응용개발 jdbc에서 질의 플랜정보 보는 방법 손승일 2009.04.15 15840
237 기타 XE(구 제로보드XE) 에서 로그인이 되지 않을 경우 해결법 Prototype 2009.04.16 26992
236 응용개발 PHP에서 prepared statement 사용하기 3 Prototype 2009.04.16 21454
235 운영관리 막무가내 DBA의 DISK 장애 대처 정병주 2009.04.16 20444
234 질의작성 LIKE 검색에서 INDEX_SCAN사용 하기 file janus 2009.04.17 21809
233 CUBRID 매니저 Database(db이름) is running is standalone mode 오류가 뜰 경우 file 시난 2009.04.29 28488
232 기타 utf-8 데이터 like 검색 시 설정 손승일 2009.05.12 18453
231 운영관리 CM이 아닌 서버(console)상의 쿼리 결과값을 저장하는 방법 cubebridge 2009.05.19 20200
230 기타 windows에서의 Build 오류 발생 시 조치방법 cubebridge 2009.05.19 14255
229 기타 cubrid: error while loading shared libraries 에러가 발생했을 경우 대처 웁쓰 2009.05.19 22437
228 기타 csql에서 Java SP를 이용 조회 시 한글 깨짐현상 조치방법 cubebridge 2009.05.21 21044
227 CUBRID 매니저 windows 에서 CUBRID 설치후 CUBRID manager client 최초 연결시 연결 오류 발생 대처 방법 남재우 2009.05.21 17711
226 기타 windows vista 환경의 csql에서 ;edit 실행시 오류발생하는 경우 file 손승일 2009.05.27 16686
225 운영관리 TIME_TO_KILL과 SESSION_TIMEOUT에 대한 정리 cubebridge 2009.05.27 13191
224 기타 조건절에 상수가 아닌 ? 가 있는 질의 플랜보는 방법 손승일 2009.05.28 17565
223 질의작성 오라클 바이딩 변수와 큐브리드 인터프리터 변수를 사용한 경로 표현식 정만영 2009.06.09 13483
222 운영관리 csql 데이터 입력방법 정만영 2009.06.09 213227
221 응용개발 ODBC 드라이버를 이용한 Prepare 사용하기. seongjoon 2009.06.16 19590
220 질의작성 CUBRID 2008에서 ' 사용하기. file seongjoon 2009.06.16 13315
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales