17.10 - 例: BEGIN QUERY CAPTUREを使用したXML形式でのDMLとDDLの混合リクエストのキャプチャ - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

employeeデータベースに、次のuser_1テーブルを作成しておきます。

     CREATE TABLE user_1.employee (
       emp_code  INTEGER,
       emp_name  VARCHAR(30),
       dept_code INTEGER,
       salary    FLOAT);

employeeに100万行が投入されているとして、次のリクエストを使用してdept_code列の統計を収集するとします。

     COLLECT STATS COLUMN (dept_code) ON employee;

次のBEGIN QUERY CAPTUREリクエストでは、VERBOSEオプションとDETAILED STATSUSAGEオプションを指定して、user_1_QCDクエリー キャプチャ データベースに問合わせ計画データをキャプチャします。

     BEGIN QUERY CAPTURE
     WITH VERBOSE, DETAILED STATSUSAGE
     INTO user_1_QCD
     AS WORKLOAD wl_1;

このBEGIN QUERY CAPTUREリクエストは、Object、SQL、Step Details、Verbose EXPLAINテキスト、統計の詳細項目、および使用した統計についての情報と後続のすべてのリクエストに対する統計の推奨情報をキャプチャします。

     SELECT *
     FROM employee
     WHERE emp_code > 2;
     DELETE FROM employee
     WHERE emp_code = 10;
     UPDATE employee
     SET dept_code = 11
     WHERE emp_code = 11;
     CREATE TABLE dept (
       dept_code INTEGER,
       dept_name VARCHAR(30),
       manager   VARCHAR(30));
     INSERT DEPT(11, 'HR', 'JOHN');

END QUERY CAPTUREリクエストにより、BEGIN QUERY CAPTUREモードを終了します。

     END QUERY CAPTURE;    /* ends the BEGIN QUERY CAPTURE mode */

次のSELECTリクエストは、QUERY CAPTUREセッションでキャプチャしたすべてのリクエストの問合わせIDを返します。

     SELECT DISTINCT ID
     FROM user_1_QCD.Xmlqcd
     WHERE WorkLoadName = 'wl_1';