16.20 - WITH - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)
VERBOSE
詳細なEXPLAINテキストをキャプチャします。
STATSUSAGE
最適化ルーチンの使用統計と推奨情報をキャプチャします。
DETAILED
最適化ルーチンの統計の使用と推奨情報をキャプチャすることに加え、要求の問合わせ計画で参照されるすべてのデータベース オブジェクトについて、要約統計の詳細項目をキャプチャします。DETAILEDを指定すると、要求では問合わせ計画で参照されるすべてのデータベース オブジェクトについて、次の統計の詳細項目をキャプチャします。
  • StatTimeStamp
  • Version
  • OrigVersion
  • NumColumns
  • NumBValues
  • NumEHIntervals
  • NumHistoryRecords
  • NumNulls
  • NumAllNulls
  • NumAmps
  • NumPNullDistinctVals
  • PNullHighModeFreq
  • AvgAmpRPV
  • HighModeFreq
  • NumDistinctVals
  • NumRows
  • CPUUsage
  • IOUsage

例: デフォルトのTDQCDデータベースを使用したXML形式での問合わせ計画のキャプチャと格納

このリクエストでは、サポートされているすべてのオプションを指定して、問合わせ計画データの格納にデフォルトのTDQCDデータベースを使用します。

     BEGIN QUERY CAPTURE AS workload wl_2;
     SELECT *
     FROM employee
     WHERE emp_code > 2;

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

     END QUERY CAPTURE;

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

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';