17.10 - クエリー キャプチャ データベースについて - Advanced SQL Engine - Teradata Database

Teradata Vantage™- データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
管理
Publication ID
B035-1093-171K-JPN
Language
日本語 (日本)

クエリー キャプチャ データベース(QCD)は最適化ルーチンの問合わせ分析ワークロード データと、問合わせ分析のサポートに必要な統計データとデモグラフィック データを格納します。

SystemFE DIPは、SystemFEユーザーのデフォルトQCDであるTDQCDを作成しますが、独自のQCDデータベースも作成でき、システムに複数のQCDデータベースを定義することもできます。

BEGIN QUERY CAPTUREリクエストを使用して、セッション レベルで問合わせ計画をXMLフォーマットでキャプチャし、TDQCDまたはその他のユーザー定義QCDにデータを書き込むには、INSERT権限が付与されていなければなりません。

Vantageは、システムAMPの数に基づいて、以下の等式を使用してTDQCDのサイズを決定します。

TDQCD_size = 50MB + (number_of_system_AMPs x 100 x 1,024バイト)

modify_tdqcd.spl SQLストアド プロシージャを使用して、テスト システムのAMPの数に基づいてTDQCDデータベースのサイズを変更できます。modify_tdqcd.splの定義は次のとおりです。

REPLACE PROCEDURE TDQCD.MODIFY_TDQCD(IN Basesize int, OUT Success int)
BEGIN
DECLARE TotalAmps INTEGER;
DECLARE CurrentSize INTEGER;
DECLARE TargetSize INTEGER;

SELECT COUNT(DISTINCT Vproc) FROM Dbc.DiskSpaceV INTO TotalAmps ;
select ZEROIFNULL(permspace) into :CurrentSize from Dbc.DatabasesV where databasename = 'tdqcd';
SET TargetSize = Basesize + (TotalAmps * 100 * 1024);

IF (CurrentSize < TargetSize) then
CALL dbc.sysexecsql('MODIFY DATABASE TDQCD AS PERM = ' ||:TargetSize || 'BYTES');
END IF;

SET Success = 1;

END;
クエリー キャプチャ データベースを作成するには、BTEQでCreateQCFテーブル(BTEQを使用する手順を参照)を使用します。QCDテーブルには、以下のようなさまざまなメソッドを使用してデータが入力されます。
  • BEGIN QUERY CAPTURE
  • COLLECT DEMOGRAPHICS
  • COLLECT STATISTICS(QCD形式)
  • INSERT EXPLAIN WITH STATISTICS
  • BEGIN QUERY CAPTURE
QCDは一式のユーザー テーブルの場合が多いので、それら個別のテーブルの構造とQCDの構造の両方を変更することが可能ですが、QCD構造の決して決して変更すべきではありません。

この制約が課せられるのは、SQL文BEGIN QUERY CAPTURE、DUMP EXPLAIN、INSERT EXPLAIN、INITIATE INDEX ANALYSIS、RESTART INDEX ANALYSIS、COLLECT DEMOGRAPHICS、およびCOLLECT STATISTICS(QCD形式)はすべて、QCDテーブルに挿入する、指定された問合わせ情報、統計情報、およびデモグラフィック情報をキャプチャする際に、デフォルトの物理モデルを前提としているからです。

QCDテーブルの構造を変更すると予期しない結果が生じます。