Teradata PT APIの使用時は、テーブルのコピーの前に行なわれるスプールを無効にすることができます。Teradata Databaseでは、データを一時ディスク領域 (スプール領域) に書き込み、選択が完了するまでデータがここに保持されます。このアクションを、スプールといいます。スプールは、データの矛盾を防ぐためにデフォルトで行なわれますが、データベース オブジェクトのコピーに必要な時間も増大します。Teradata PT APIを使用するジョブで特定のテーブル コピーのパフォーマンスを向上させるには、テーブルのスプールを無効にします。
Teradata PT APIオペレータを使用してテーブルをコピーする際にこの機能を使用するには、次のような短所もあります。
- ロックがコピー プロセス全体で保持されます。
- データ変換エラーはスプール フェーズで検出されるため、テーブルをコピーする際にスプールを無効にすると、変換エラーが発生する場合があります。これが発生した場合は、エラーを修正し、ジョブを再起動してください。
export_without_spool要素はオプションで、デフォルトでは有効です。この要素は、コマンドライン インターフェースでパラメータとしてではなく、XML形式でのみ指定できます。要素はTeradata PT APIジョブにのみ使用可能で、Teradata Database 13.10以降にのみ適用されます。 XMLでexport_without_spool要素の値にtrueを指定して、ソースまたはターゲットがTeradata Database 13.10より前か、またはジョブで別のユーティリティが使われる場合は、この要素は無視されます。この要素は、XMLファイルのtable要素の下にあります。次のテーブルに、export_without_spool要素の有効な値を示します。
値 | 説明 |
---|---|
false | Data Moverは、テーブルのコピー時にスプール領域への書き込みを行ないます。 |
true | Data Moverは、テーブルのコピー時にスプール領域への書き込みを行ないません。 これがデフォルト値です。 |
unspecified | XML内でexport_without_spool要素を指定しないことと同等です。つまり、Data Moverは、Teradata PT APIを使用するテーブル コピー ジョブで、データをソースTeradata Databaseからエクスポートする際に、スプールを使用しません。 |
テーブルのコピーではスプールの無効化のみが可能なので、tableタグでexport_without_spool要素にtrueの値を指定します。次の例では、テーブルsrcDatabaseです。 Employeesがコピーされますが、スプールはこのテーブルでは無効にされています。
<database selection="unselected"> <name>srcDatabase</name> <table selection="included"> <name>Employees</name> <export_without_spool>true</export_without_spool> </table> </database>