Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

CUBRID Manager Query Editor_kr


■ 질의 편집기 구성

CUBRID 매니저 질의 편집기는 모든 DML, DDL, DCL 문의 수행을 지원하는 질의 도구로서, 보다 쉽고 편리하게 질의를 편집하고 실행할 수 있다. 질의 편집기를 실행하려면 메뉴에서 |도구| > |새 질의 편집기|를 선택하거나, 툴바에서 |새 질의 편집기|를 클릭한다. 또는 해당 데이터베이스를 마우스 오른쪽 버튼 클릭하여 |새 질의 편집기|를 선택한다.

 

질의 편집기 화면은 위쪽의 질의 편집 창과 아래쪽의 질의 결과 창으로 구분할 수 있다.

 

질의 편집 창에서는 수행할 질의를 입력하고 편집하며, 질의 편집기에서 주로 사용하는 기능을 아이콘으로 보여주는 툴바를 포함한다.

 

질의 결과 창에서는 수행된 질의별 결과를 탭 형식으로 보여주며, 수행한 질의 및 해당 질의의 수행 시간을 확인할 수 있다.

 

질의 작성시 길이가 긴 SQL을 작성할 경우 기존 SQL과 구분을 위해 별도의 질의 편집기를 열었으나,

질의 편집기 내에 탭을 추가하여 탭 전환만으로 하나의 DB에 여러 SQL을 구분하여 작성하고 실행할 수 있습니다.

 

질의 편집기 탭으로 1개의 질의 편집기 내에서 다량의 SQL을 구분하여 편집할 수 있습니다.

04.png

 

■ 질의 결과창 구성

질의 결과 창은 수행된 질의의 결과를 보여주는 창으로, 여러 개의 질의가 수행된 경우 질의 결과 창 아래에 질의별 탭으로 구분된다. 각 탭을 선택하여 해당 질의의 수행 결과를 확인할 수 있다.

질의 결과 창은 결과 탐색, 수행 질의 정보, 수행 시간 및 검색 건수를 제공하는 영역으로 구분된다.

 

  • 결과 탐색: 전체 검색 결과에서 |질의 편집기 옵션|의 |결과 창의 페이징 단위 설정|에서 설정한 값만큼 이동하며 탐색한다.
  • 수행 질의 정보, 수행 시간 및 검색 건수 : 현재 질의 결과가 어떤 질의를 수행한 결과인지 알려 준다. 또한, 현재 질의 결과를 얻는데 소요된 서버의 수행 시간과 전체 검색 건수 정보를 제공한다.

■ 질의 결과창 기능

  • 복사: 한 행 전체를 복사한다. 한 행의 특정 컬럼 값만 복사하려면 |상세 보기|를 선택한다.
  • 수정: 질의 결과 창에서 데이터를 직접 수정할 수 있다. 수정하고자 하는 데이터를 더블 클릭하여 편집할 수 있는 상태로 바꾼 후 데이터를 수정한다. 단, 이 수정 기능은 해당 호스트 속성의 |질의 편집기 옵션| 대화 상자에서 |OID 정보 보기|가 선택되어 있거나, 질의 편집기 툴바의 OID 정보 보기가 선택되어 있어야만 가능하다.
  • 삭제: 질의 결과 창에서 데이터를 직접 삭제할 수 있으며, 삭제할 행을 마우스 오른쪽 버튼 클릭하고 |삭제|를 선택하여 수행한다. 단, 삭제 기능은 수정과 마찬가지로 |OID 정보 보기|가 선택되어 있어야만 가능하다.
  • 상세 보기: 행으로 출력되는 데이터가 많거나 클 경우 한 행의 데이터를 상세히 보기 어렵다. 이 때 해당 행을 마우스 오른쪽 버튼 클릭하고 |상세 보기|를 선택하여 한 행의 모든 데이터를 상세히 볼 수 있다. |OID 정보 보기|가 선택되어 있다면, 상세 보기 창에서 직접 수정할 수도 있다. BLOB, CLOB 타입의 데이터는 별도의 파일로 내보내고 가져올 수 있다.
  • 전체 내보내기: 결과 창의 모든 데이터를 엑셀 또는 CSV 파일로 내보낸다.
  • 선택된 행 내보내기: 결과 창에서 선택한 행의 데이터만 엑셀 또는 CSV 파일로 내보낸다. 내보낸 데이터가 저장되는 파일의 문자 집합을 설정할 수 있다.
  • BLOB/CLOB 데이터 내보내기: BLOB, CLOB, BIT VARYING(>100) 인 데이터에 대해서는 내보내기 및 가져오기 기능을 실행할 수 없지만, 질의 편집기 결과 창의 상세 정보에서는 내보낼 수 있다. 단, 질의 결과 창에서 해당 타입의 데이터를 직접 표시하지 않고 (BLOB), (CLOB), (BIT)와 같은 타입 태그만 표시한다.
  • BLOB/CLOB 데이터 가져오기: 질의 편집기 결과 창의 상세 정보에서 STRING, CHAR, VARCHAR, NCHAR, NCHAR VARYING, BIT VARYING, BIT, BLOB, CLOB 타입 데이터가 저장된 파일을 직접 열어서 데이터를 입력하거나 편집할 수 있도록 지원한다.
  • 결과 창에서 컬럼명에 마우스 포인터를 올리면 해당 컬럼의 데이터 타입과 크기를 알 수 있다.

■ 질의 편집기 부가 기능

다중 질의 기능

질의문 마지막에 세미콜론(;)을 입력하여, 하나의 질의가 끝나고 다음 질의가 시작됨을 명시한다. 여러 개의 질의가 존재할 경우, 각 질의는 순차적으로 수행되며, 질의별로 질의 결과 창에 결과 탭이 형성된다. 세미콜론으로 구분하지 않고 다중 질의를 수행하면, 첫 번째 질의만 수행되고 이후의 질의는 무시된다.

 

질의 취소 기능

수행 중인 질의를 중지시킬 수 있는 기능이다. 질의 수행 중 |정지|를 클릭하면 상황에 따라 다음과 같이 동작한다.

  • 다중 질의 수행 시 : 자동 커밋이 설정되어 있을 때 다중 질의 수행 시 정지 버튼을 클릭하면, 현재 취소되는 질의 이전에 처리한 질의들은 정상적으로 반영되고, 현재 취소된 질의와 이후의 질의는 반영되지 않는다. 자동 커밋이 설정되어 있지 않으면, 수행된 모든 질의를 반영하지 않는다.
  • 긴 트랜잭션 수행 시 : 정지 호출 시 CUBRID 매니저 > JDBC > 브로커 > 서버의 각 단계로 질의 취소 명령이 전달되어 최종적으로 데이터베이스 서버에서 해당 질의가 정지되어야 실제 질의가 취소된다. 단, Windows 버전의 경우, CUBRID R2.2 이상 버전에서만 질의 취소 기능을 지원한다.

 

질의 결과 편집 기능

실행한 질의 결과를 직접 편집하거나 레코드를 추가할 수 있는 기능이다. 질의 편집기의 결과 창에서 |편집 가능|을 클릭하여 |편집 가능| 상태로 변경하면 질의한 결과에 기본키 컬럼이 모두 포함된 출력된 결과에서 추가, 편집, 삭제가 가능하며 다음과 같다.

  • 데이터 입력 : 버튼을 클릭하면 마지막 라인에 입력 가능한 빈 줄이 생기며 직접 값을 입력할 수 있다. 날짜의 경우에는 별도 입력창을 이용하여 입력한다. 입력후, |입력한 데이터 저장| 버튼을 클릭한다, 여러 레코드의 데이터를 입력한 후 한 번에 |입력한 데이터 저장| 버튼을 클릭하면 편리하다. 저장 버튼을 클릭해야만 INSERT SQL문이 생성되어 데이터가 저장된다.
  • 데이터 편집 : 별도의 버튼은 없으며, 원하는 항목을 클릭하면 편집할 수 있다. 편집후 포커스를 다른 곳으로 이동하면 즉시 변경사항이 반영이 된다. 단, 자동커밋이 아닌 경우에는 별도로 커밋을 해야 한다.
  • 데이터 삭제 : 삭제할 레코드를 선택한 후 버튼을 클릭하면 해당 레코드를 삭제할 수 있다. 단, 자동커밋이 아닌 경우에는 별도로 커밋을 해야 한다.

질의 편집기가 자동 커밋이 아닌 상태에서 트랜잭션이 존재하고 있을 때에는 트랜젝션에 혼란을 막기 위해 저장 버튼을 클릭할 수 없게 되어 있다. 필요할 경우에는 질의 편집기상에 있는 커밋 또는 롤백을 실행후 결과를 저장하면 된다. 만약, 기본키가 없는 테이블 또는 SELECT시 기본키가 모두 포함되지 않은 경우에는 데이터 보호를 위해 결과 편집을 할 수 없다.

 

데이터베이스 용도에 따른 배경색 출력 기능

일반적으로 개발용, 운영용으로 구분하여 데이터베이스를 관리하고 있다. 그러나, 개발용, 운영용에 대한 구분이 없을 경우 개발 서버에 실행할 질의를 운영 서버에 실행하는 실수를 유발하게 한다. CUBRID 매니저는 데이터베이스 접속 또는 접속 정보 변경시 데이터베이스의 사용 목적을 지정할 수 있도록 지원한다.

이렇게 지정한 목적에 따라 색상이 지정되고 질의 편집기의 편집창 배경색으로 이용이 되어 현재 개발 서버에서 질의를 하는지 아니면 운영 서버에서 질의를 하는지 바로 확인이 가능하다.

 

키워드 추천 기능

SELECT, UPDATE 등의 키워드와 테이블명을 쉽게 입력할 수 있도록 문자를 입력하면 해당하는 추천 키워드 및 테이블 이름 목록을 보여준다. 또한, SELECT  FROM athlete을 입력한 다음 SELECT에 CTRL+SPACE를 하거나 특정 문자를 입력하면 athlete 테이블에서 사용하는 컬럼명 목록을 보여준다.

 

키워드 추천 SQL 선택 기능

키워드 추천 기능에서 SELECT, INSERT, UPDATE, DELETE에서 오른쪽 키를 누르면 해당하는 최근 실행된 SQL이 출력되고 CTRL + R과 동일하게 ENTER를 누르면 질의 편집기에 입력이 되고 실행도 가능하다.

 

키워드 자동 대문자 변환 기능

질의 편집기에서 SQL 작성시 키워드 자동 변환 기능이 지원된다. 예를 들어, select까지 입력하고 SPACE를 넣으면 select가 자동으로 SELECT로 변환된다. 이 기능을 사용하지 않으려면, |파일| - |기본 설정..| - |질의 편집기 옵션| - |편집중 키워드 자동으로 대문자 만들기 사용하지 않음|을 선택하거나, |키워드와 함수 소문자로 만들기|를 선택하지 않으면 된다.

 

최근 사용한 SQL 보기

질의 편집기에서 CTRL + R을 누르면 최근 실행하여 성공한 SQL을 선택할 수 있는 창이 출력된다. 원하는 SQL을 선택한 후 ENTER를 누르면 질의 편집기에 입력이 되고 실행도 가능하다. 단, 최근 자주 사용되는 SQL 30개만 출력이 된다.

 

코드 생성 기능

질의 편집기를 이용하여 작성한 SQL을 프로그램 코드에 입력하기 위해서는 "와 같은 특수 문자를 escape 처리해야하고 각 행마다 ""로 묶어주어야 하며, 보기 좋게 탭이나 공백을 넣어서 SQL을 정리해야 한다. 질의 편집기에서 제공하는 코드 생성 기능을 이용하면 Java, PHP 형식으로 SQL 코드를 바로 사용할 수 있도록 지원한다. SQL을 선택한 후 마우스 오른쪽 버튼의 컨텍스트 메뉴에 |SQL을 PHP 코드로 복사| 또는 |SQL을 Java 코드로 복사|를 이용하여 코드로 생성한 후 원하는 코드에 붙여넣기를 하면 된다. 여러개의 SQL을 동시에 선택한 후 생성하면 개별로 SQL 코드를 만들도록 되어 있어 편리하게 사용할 수 있다.

 

SQL 즐겨찾기 기능

별도로 작성해둔 SQL 파일을 즐겨찾기해두고 필요할 때마다 불러 쓰거나 다량의 데이터는 실행하도록 할 수 있다. 질의 편집기 툴바에서 |SQL 즐겨찾기| 버튼을 클릭하면 즐겨찾기를 관리하고 실행할 수 있는 대화창을 이용할 수 있다.

|추가|, |삭제|가 가능하며, SQL 즐겨찾기에 등록된 SQL 파일은 특정 데이터베이스에만 나타나는 것이 아니라 모든 질의 편집기에 나오기 때문에 추가할 때마다 메모란에 현재 데이터베이스 정보가 기록되며 사용자가 원하는 대로 수정이 가능하다.

실행 방법은 2가지가 있는데, |질의 편집기로 붙여넣기|, |선택한 SQL 실행|이 있다. 결과 출력이 필요하거나 소량의 SQL이라면 |질의 편집기로 붙여넣기|를 하여 질의 편집기에서 활용하면 되며, 다량의 데이터를 변경하는 경우에는 |선택한 SQL 실행|을 이용하면 된다.

 

질의 다중 실행

하나의 질의를 N대의 데이테베이스에서 다중 실행하고, 하나의 뷰(독립창)에서 결과를 동시 비교할 수 있습니다. 
N대의 데이터베이스에 반복 작업(사용자 추가, 스키마/인덱스 변경 작업)을 수행할 때, HA/복제 환경에서 SELECT문을
실행하면서 결과 비교를 할 때 유용합니다.  
단, SELECT문을 다중 실행하시는 경우, 클라이언트가 DB로부터 가져오기(fetch)하는 결과셋 크기 및 로컬 시스템의
메모리 사양에 따라 out of memory 에러가 발생할 수 있습니다.

 

줄 바로가기

질의 편집기에 입력된 SQL의 길이가 길 경우 CTRL + G를 누르면 원하는 줄로 바로 가기를 지원한다.

 

 

질의 편집창 질의 편집 편의성 개선

JOIN 질의를 작성하는 경우 테이블 별칭을 넣기 위해 컬럼을 선택한 후 마우스 우클릭에 있는 "컬럼명 앞 테이블 별칭 일괄 변경"을 선택하여 원하는 별칭을 추가 또는 이미 있을 경우 교체할 수 있다. 단, 함수나 괄호 등으로 시작할 경우에는 아직 지원하지 않는다.

2012-10-22 14;09;15.PNG

 

 

 

■ 질의 실행 계획 보기

질의 편집기 옵션에서 |질의 실행 계획 보기 설정|을 선택하면, 질의 편집기의 툴바에서 |질의 실행 계획 보기|가 활성화된다.

사용자는 툴바에서 |질의 실행 계획 보기|를 클릭하거나 <Ctrl+L>을 눌러서, 질의를 실제로 수행하지 않고도 선택된 질의가 어떻게 수행될지에 대한 실행 계획을 확인할 수 있다. 이미 수행된 질의에 대한 실행 계획도 확인할 수 있다.

질의 편집기 하단에는 질의 실행 계획이 항상 보이므로 데이터베이스에 접속하지 않은 상태에서도 실행 계획 이력 파일을 열어서 기존의 실행 계획을 점검해 볼 수 있다.

 

질의 실행 계획 기능은 SQL의 실행 계획을 조회하는 것으로, 일회성이 아닌 실행 계획을 지속적으로 관리하고 조회하기 위한 수집 목적으로 사용한다. 실행 계획을 조회할 때마다 질의 실행 계획 이력에 누적이 되고, 누적된 자료를 .xml 파일로 저장할 수 있다. 저장된 .xml 파일을 열면 당시의 실행 계획과 실행된 SQL을 조회해 볼 수 있다. 일회성 조회가 목적이라면, 툴바에서 |수집 이력 안 남기기|를 선택하여 이력을 남기지 않고 현재 실행 계획을 임시로 조회할 수 있다.

질의 실행 계획은 툴바, 실행 계획 출력 창, 선택된 실행 계획에 대한 원문 출력 창 그리고 실행 계획 이력 창으로 구성되어 있다.

 

질의 실행 계획 탭

질의를 선택하고 툴바에서 |질의 실행 계획 보기|를 클릭하면 아래 그림과 같이 |질의 실행 계획| 탭에 질의 수행 계획이 출력된다. |질의 실행 계획| 탭은 해당 질의에 대한 실행 계획을 트리 구조로 요약하여 보여준다.

|질의 실행 계획| 탭은 |질의 결과| 탭 오른쪽에 있으며, 질의 결과를 보다가 |질의 실행 계획| 탭으로 전환할 수 있다.

 

질의 실행 계획 툴바

질의 실행 계획 툴바에는 다음과 같은 기능이 있다.

  • 수집 이력 안 남기기 : 질의 편집기에서 질의 실행 계획 보기를 이용하여 실행 계획을 조회하면 항상 실행 계획 이력 창에 이력이 추가된다. 이력에 남기지 않고 임시로 조회하려면 |수집 이력 안 남기기|를 클릭한다. 실행 계획 출력 창 아래의 탭 이름은 "계획"으로만 출력된다.
  • 실행 계획 형식 : 클릭하면 텍스트형 또는 계층형 및 그래픽으로 전환된다. 데이터베이스에서 생성하는 가공되지 않은 실행 계획 소스를 텍스트 형식으로 볼 수 있다.
  • 수집 이력창 출력/숨김 : 오른쪽의 수집 이력 창을 보거나 숨길 수 있다.
  • 질의 실행 계획 이력은 자동으로 보존되며 100개 초과시 이전 이력은 자동으로 삭제가 된다. 프로그램을 종료하더라도 이미 보전이 되어 있기 때문에 재실행시 확인이 가능하다.

 

실행 계획 출력창

실행 계획 출력 창에는 단계별로 실행된 실행계획이 계층형(tree)으로 출력된다.

세로축의 각 항목을 노드(node)라고 부르며 각 노드마다 데이터의 내용은 다르다. 위에서 아래로 내려가면서 본다.

가로축은 항목(item)이라고 부르며 유형, 테이블, 인덱스, 검색조건, CPU I/O 비용, Disk I/O 비용, 전체(ROW/PAGE)으로 구분된다.

  • 유형: sscan, iscan, idx-join 등과 같이 실행 계획상의 각 노드별 질의 최적화기의 실행 방법을 의미한다.
  • 테이블: 해당 노드가 실행될 때 참조하는 테이블(class), 뷰(virtual class) 이름과 별명(alias)이 함께 출력이 된다.
  • 인덱스: iscan 유형의 경우 사용되는 인덱스명이 출력된다.
  • 검색 조건: 결합(join) 조건, 필터 조건 등이 출력된다. 가독성을 위해 내용은 숨겨져 있으며 +를 클릭하여 하위 노드를 펼치면 상세히 출력된다. 또한 검색 조건별로 별도의 색깔로 볼 수 있다.
  • 비용: 실행 계획에서 출력하는 비용은 CPU, Disk I/O 비용이다. 각각 고정 비용과 가변 비용으로 구분하여 출력된다.
  • 전체(r/p): 가져올(fetch) 데이터를 만들기 위해 사용되는 테이블의 전체 행의 개수(rows)와 페이지 수(pages)가 출력된다.

질의 실행 계획 출력 창의 아래쪽에는 실행 계획 창에서 선택한 실행 계획의 원문이 출력된다.

 

그래픽형 실행 계획 출력창

03.png

 

실행 계획 이력창

실행 계획 이력 창에는 실행 계획을 수행할 때마다 이력이 누적되어 출력된다. #은 누적 순번이며 실행 계획 출력 창 아래의 탭 번호와 일치한다. 일자는 실행계획을 실행한 일시이며, 총 비용은 CPU와 Disk I/O의 합이다. 이 실행 계획 이력 창의 항목을 더블 클릭을 하면 해당 실행 계획을 실행 계획 출력 창에서 다시 볼 수 있다.

 

질의 실행 계획 활용

질의 실행 계획 기능을 활용하면 실행 계획과 해당 테이블의 스키마를 동시에 보면서 분석할 수 있다.

질의 실행 계획 출력 창에서 테이블이 있는 행을 마우스 오른쪽 버튼 클릭하여 |스키마 정보 보기|를 선택하면, 해당 테이블의 스키마 정보를 별도로 열어서 같이 볼 수 있다.

 

SQL 튜닝모드

 

질의 편집기 툴바 > |SQL 튜닝모드| 버튼을 클릭하면, 질의 결과창에 질의 결과 + 질의 실행 계획 + 질의 실행 통계 정보를 동시에 출력한다.

PL01.PNG

 

 

■ 테이블 정보 탭 보기

왼쪽 네비게이션 창에서 테이블 또는 뷰를 두번 클릭하면 질의 편집기 하단에 테이블 정보 보기 창이 출력된다. 테이블 정보 보기 창은 다음과 같이 구성된다.

 

빠른 SQL 입력 버튼

SELECT *, SELECT, INSERT, UPDATE, DELETE 등 해당 테이블과 관련된 SQL을 버튼 클릭으로 질의 편집기에 입력할 수 있으며 적절히 수정하여 질의를 실행할 수 있다. 또한, |정의된 SQL 매개 변수 설정| 버튼을 클릭하여 매개 변수를 설정하여 SQL을 실행할 수 있다.

 

샘플 데이터 서브 탭

100개의 샘플 데이터와 컬럼명, 자료형, 컬럼 크기 등을 한 눈에 볼 수 있는 UI를 제공한다. SQL 작성시 해당 테이블이 어떠한 데이터를 갖고 있는지 확인하면서 편리하게 작성할 수 있도록 지원한다.

컬럼명, 자료형, 컬럼 크기는 상단 제목 줄에 간략하게 표현되며, 자료형은 CHAR > cha, VARCHAR > var 등으로 최초 3자리만 출력이 되고 컬럼 크기는 1,000 단위는 1k, 1,000,000 단위는 1m 등으로 단축 표현된다.

 

DDL 탭

테이블 또는 뷰가 어떤 DDL로 생성이 되었는지 확인할 수 있다.

 

컬럼 탭

테이블 또는 뷰의 컬럼 정보를 상세히 확인하면서 SQL을 작성할 수 있도록 지원한다. 고유키, NOT NULL, 기본값 등을 한 눈에 볼 수 있다.

 

인덱스 탭

Join 질의 작성시 인덱스와 외래키 등의 정보를 확인할 수 있도록 지원한다.

 

■ SQL 실행 이력 탭 보기

SQL을 실행하여 성공할 때마다 실행된 일시, SQL, 실행 로그가 자동으로 저장이 되며 프로그램을 종료하더라도 보존이 된다. 최근 사용된 SQL이 항상 최상단에 등록되며 해당 SQL을 더블클릭하면 질의 편집기에 입력이 되어 바로 실행도 가능하다.

왼쪽 상단의 삭제 버튼을 클릭하여 불필요한 로그를 삭제할 수 있으며, SHIFT키로 여러 줄을 선택하여 삭제도 가능하다. 단, 데이터베이스별로 구분되어 저장되며 100개가 초과되면 오래된 SQL 이력은 자동으로 삭제가 된다.

 

comments powered by Disqus
Page info
viewed 2235 times
translations en
Author
posted 3 years ago by
newpcraft
Contributors
updated last year by
View revisions
tagged
Share this article