dbquery

외부 데이터베이스 서버를 대상으로 SQL 질의를 수행합니다.

문법

dbquery PROFILE SQL_STATEMENT
PROFILE

JDBC 연결에 사용할 프로파일을 지정합니다.

Note
프로파일은 웹 콘솔에서 구성할 수 있습니다. ENT-3.10.2009.0. SNR-3.1.2008.0 배포 버전부터 JDBC 프로파일이 접속 프로파일에 통합되었습니다.
SQL_STATEMENT

질의할 SQL 쿼리문을 입력합니다. JDBC를 통해 조회되는 모든 결과 집합을 키-값 쌍으로 읽어들입니다.

SQL 쿼리문에 콜론(:)으로 시작하는 입력 매개변수와 출력 매개변수를 정의할 수 있습니다.

  • 입력 매개변수는 :name 형식이며, set 명령어로 정의한 쿼리 매개변수가 삽입됩니다.
  • 출력 매개변수는 :name(type) 형식으로 정의합니다. 사용할 수 있는 출력 매개변수 타입은 varchar, int, datetime이 있습니다.

사용 예

  1. weblogs 테이블에서 100건의 로그 조회

        dbquery oracle select * from weblogs where rownum <= 100
    
  2. 입력 매개변수를 이용해 employee 테이블에서 최근 1주일 간 입사자 목록을 조회

    # 입력 매개변수: created_at 
    | set created_at = string(dateadd(now(), "day", -7), "yyyy-MM-dd") 
    | dbquery emp select * from employee where created_at >= :created_at
    

성능

MS SQL Server 2008에서 쿼리 속도를 계측한 결과는 아래와 같습니다.

  • 로그프레소 서버 하드웨어 사양: Intel Core i5-2467M 1.6GHz
  • DB 서버 하드웨어 사양: Intel Core i5 750 2.67GHz, RAM 4GB
  • 데이터: IIS 로그 1999194건
  • 쿼리: dbquery sql select * from logs
  • 소요시간: 27.3초 (74,000건/초)