Background Image
응용개발
2009.04.15 04:16

jdbc에서 질의 플랜정보 보는 방법

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
JDBC 프로그램에서 질의 플랜정보 보는 방법

CUBRID는  JDBC 프로그램에서 질의 플랜을 출력해주는 메소드를 제공한다.
cubrid.conf 설정

플랜이 출력되려면 CUBRID 설정파일인 $CUBRID/conf/cubrid.conf에 optimization_level=513을 추가하고 DB 서버를 재시작하여야 한다.

# Enable Java Stored Procedure
java_stored_procedure=no
optimization_level=513

간단 예제
다음은 질의 플랜을 화면에 출력하는 간단 예제이다.

import java.sql.*;
import cubrid.jdbc.driver.*; //CUBRIDStatement를 사용하기 위해 import 해야 함.
public class getQueryplan{
        public static void main(String arg[]) throws Exception {
                Connection        conn = null;
                ResultSet         rs = null;
                PreparedStatement  pstmt = null;               
                try {
                        Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
                        conn = DriverManager.getConnection("jdbc:cubrid:localhost:53000:demodb:::","","");
                        conn.setAutoCommit(false); //플랜 정보를 가져오기 위해서는 auto commit을 false로 설정해야 함.
                        String sql = "select host_nation from olympic where host_year = ?";
                        pstmt = conn.prepareStatement(sql);
                        pstmt.setInt(1, 2004);
                        ((CUBRIDStatement)pstmt).setQueryInfo(true);                
                        rs = pstmt.executeQuery();
                        String plan = ((CUBRIDStatement)pstmt).getQueryplan(); // 수행한 질의 플랜 정보를 가져오는 메소드.
                        while(rs.next())
                            System.out.println("host_nation : " + rs.getString(1));
                        conn.commit();
                        System.out.println("plan : " + plan);               
                }catch ( SQLException e ) {
                        e.printStackTrace();
                }catch ( Exception e ) {
                        e.printStackTrace();
                }finally {
                        if (rs != null) rs.close();
                        if (pstmt != null) pstmt.close();
                        if (conn != null) conn.close();
                }
        }
}




List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
59 운영관리 CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기 정만영 2015.07.15 9043
58 질의작성 전체 테이블 UPDATE시 SELECT, UPDATE를 통한 INDEX SCAN방식으로 테이블 X_LOCK을 방지하자! file 이경오 2015.08.13 13794
57 운영관리 브로커 동적 파라미터 변경 방법 정만영 2015.08.13 7566
56 응용개발 WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis) 1 이상신 2015.08.21 55133
55 질의작성 테이블 용량 산정 쿼리 성진 2015.12.08 7398
54 질의작성 오라클의 DBMS_RANDOM.STRING() 함수를 CUBRID 식으로 구현하는 방법 이경오 2015.12.08 7973
53 응용개발 maven에서 CUBRID JDBC Driver 추가하기 file 김승훈 2015.12.09 8935
52 운영관리 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법 진우진 2015.12.16 7731
51 운영관리 시스템 부하가 많지 않음에도 불구하고 질의 수행이 느린 경우 THP 기능 설정 확인 및 해제 진우진 2015.12.16 7526
50 질의작성 일정 범위 임의의 정수 생성 방법(random 함수 응용) 손승일 2015.12.22 6472
49 CUBRID 매니저 테이블 명세서 한 시트로 합치기 file 성진 2015.12.24 16523
48 마이그레이션 CM(CUBRID Manager)을 이용하여 행정표준코드시스템의 기관코드 가져오기 file 권호일 2015.12.28 6329
47 마이그레이션 CUBRID와 Oracle의 NULL과 '' (empty string)의 처리 차이점 1 권호일 2015.12.29 15418
46 운영관리 cubrid plandump ( plan cache정보확인) file 주현 2015.12.29 4300
45 응용개발 CUBRID HA 제약 사항 및 확인 방법 손승일 2015.12.29 5304
44 운영관리 브로커와 DB 간 연결 테스트 박동윤 2015.12.29 4934
43 질의작성 Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까? 이상신 2015.12.30 4010
42 운영관리 CUBRID BACKUP (linux, window) file 박동윤 2015.12.30 6244
41 마이그레이션 MySQL 테이블 크기 조사하기-공유 주현 2015.12.31 6203
40 응용개발 CUBRID DB에서 critical section 정보 출력하기 file 주현 2015.12.31 4586
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

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