セッション レベルのクエリー バンド リクエストは、トランザクション レベルのクエリー バンド リクエストよりもコストが高くなります。これは、FOR SESSIONオプションにより、querybandでDBC.SessionTbl列を更新して、システムの再始動後にリクエストを再始動できるようにするためのオーバーヘッドが追加されるためです。
SET QUERY_BAND FOR SESSIONリクエストのVOLATILEオプションを使用すると、システムの再始動が発生した後にリクエストを再始動できなくなる代わりにリクエストのコストを削減することで、再始動可能性よりもパフォーマンスを優先できます。
たとえば、再始動後にクエリー バンドを復元するためには、SET QUERY_BAND FOR SESSIONリクエストを実行する必要があります。ただし、アクティブなクエリー バンドを復元できることよりもパフォーマンスを優先する場合は、次の構文を使用して、VOLATILEキーワードをSET QUERY_BAND FOR SESSIONリクエストに指定します。
SET QUERY_BAND = 'name=value;' FOR SESSION VOLATILE;
同じSET QUERY_BANDリクエスト内にUPDATEオプションとVOLATILEオプションを両方指定できることに注意してください。SET QUERY_BAND FOR SESSIONリクエストの両方のバージョンを組み合わせて使用することもできます。アプリケーションは、name:valueに保存されているDBC.SessionTblのペアをFOR SESSIONで設定しながら、同時にSET QUERY_BAND UPDATEおよびVOLATILEオプションを使用してリクエストに固有のname:valueのペアを指定できます。再始動時に、Teradata DatabaseはDBC.SessionTblに保存されているクエリー バンドを復元しますが、VOLATILEオプションを使用して設定された、クエリー バンドの名前と値のペアは復元しません。たとえば、次のようになります。
SET QUERY_BAND = 'clientuser=x11;group=acct;' FOR SESSION; SEL ... SET QUERY_BAND = 'job=a1;' UPDATE FOR SESSION VOLATILE; INS ... INS ... SET QUERY_BAND = 'job=b2;' UPDATE FOR SESSION VOLATILE; INS ... INS ...
- Teradata Vantage™ - データベースの管理、B035-1093
- <Teradata Vantage™ - データベース ユーティリティ、B035-1102>のRedriveProtectionおよびRedriveDefaultParticipation DBS制御フィールド
- 予約済みの再ドライブ クエリー バンド