クエリー キャプチャ データベース(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;
- BEGIN QUERY CAPTURE
- COLLECT DEMOGRAPHICS
- COLLECT STATISTICS(QCD形式)
- INSERT EXPLAIN WITH STATISTICS
- BEGIN QUERY CAPTURE
この制約が課せられるのは、SQL文BEGIN QUERY CAPTURE、DUMP EXPLAIN、INSERT EXPLAIN、INITIATE INDEX ANALYSIS、RESTART INDEX ANALYSIS、COLLECT DEMOGRAPHICS、およびCOLLECT STATISTICS(QCD形式)はすべて、QCDテーブルに挿入する、指定された問合わせ情報、統計情報、およびデモグラフィック情報をキャプチャする際に、デフォルトの物理モデルを前提としているからです。
QCDテーブルの構造を変更すると予期しない結果が生じます。