17.10 - パフォーマンスに関する事項 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

DBQLとTDWMのディクショナリ テーブルは、データベースがそれらのテーブルごとに保持しているキャッシュに基づいて更新されます。FLUSH QUERY LOGGINGを使用しない場合、Vantageは、フラッシュのタイマーに基づいてキャッシュをフラッシュするか、満杯になった時点でフラッシュします(デフォルトでは、フラッシュのタイマーは10分ごとに設定されています)。

この方法でそれらのログを更新すると、データの不整合がいろいろな形で発生する可能性があります。例えば、DBQLObjTblキャッシュがDBQLogTblキャッシュの前にフラッシュされると、DBQLObjTblの行が孤立しているように見えることがあります。Vantageは、DBQLogTblキャッシュの対応する行をいずれはフラッシュするとしても、10分間はフラッシュしない可能性があります。DBS制御フラグDBQLFlushRateを調整してフラッシュ間隔を小さな値に変更することもできますが、ロギング キャッシュをフラッシュする頻度を多くするとシステムのパフォーマンスが低下することがあるため、通常、そのような調整をするのは望ましいことではありません。

FLUSH QUERY LOGGINGリクエストを使用して手動でロギング キャッシュをフラッシュする操作には、関連するディクショナリ テーブルの更新に関する余分のタスクをAMPに負担させるというオーバーヘッドが伴います。クエリー ログ キャッシュを手動でフラッシュするときには、この余分のオーバーヘッドを常に自覚し、責任を持って操作を実行するようにしてください。

処理の負荷が非常に大きいシステムでFLUSH QUERY LOGGINGリクエストを頻繁に使用することはお勧めできません。処理の負荷が大きいシステムでDBQLとTDWMのいずれかまたは両方が有効になっている場合は、それぞれのキャッシュが満杯になるたびにログ テーブルが頻繁に更新されます。そのような動作は、デフォルトの10分間隔のタイマーの設定時間が来る前に頻繁に発生する可能性があります。したがって、Vantageによってキャッシュが頻繁にフラッシュされず、データの不整合が生じない場合に限って、FLUSH QUERY LOGGINGリクエストを使用するというのが最適な方法です。