カスタム アプリケーションやビジネス インテリジェンス ツールを使用している場合、これらのアプリケーションやツールはバックグラウンドで検証や情報のチェックを行なう場合にデータ ディクショナリに頻繁に問合わせを行なうため、データ ディクショナリ テーブルの統計収集が役に立つ場合があります。
Vantage内のコンポーネントは、最適化された単一AMP問合わせである内部至急リクエストを使用します。データ ディクショナリ テーブルの統計はこれらの内部活動には役立ちませんが、ユーザーやアプリケーションが直接実行したSQLには役立ちます。
統計収集から得られる潜在的利点は、ディクショナリ アクセス活動の量と複雑さによって変わります。DBQLを使用することによりどのような利点を得られるか判断できますが、DBCログオンがデータ ディクショナリ テーブルに対して収集を行なう必要があります。データ ディクショナリ テーブルの統計を収集するかどうか決定する前に、DBQL出力を検討して、アプリケーションがデータ ディクショナリのアクセスに多くのリソースを使用するかどうかを判断します。
ディクショナリ テーブルの統計収集がすべての企業に有効であるとは限りません。有効であるかどうかは、ディクショナリ テーブルにアクセスする問合わせの頻度と複雑さ、使用するリソースの量、およびプラットフォームで実行する時間によって決まります。
以下のテーブルは、統計収集を行なうのに適しています。
- DBC.AccessRights
- DBC.DBase
- DBC.Indexes
- DBC.Owners
- DBC.Profiles
- DBC.Roles
- DBC.RoleGrants
- DBC.TVFields
- DBC.TVM
- DBC.UDFInfo
ハッシュされたディクショナリ テーブルしか統計収集を行なうことができません。次のハッシュされていないデータ ディクショナリ テーブルで統計を収集することはできません。
- DBC.Acctg
- DBC.ChangedRowJournal
- DBC.DatabaseSpace
- DBC.LocalSessionStatusTable
- DBC.LocalTransactionStatusTable
- DBC.OrdSysChngTable
- DBC.RecoveryLockTable
- DBC.RecoveryPJTable
- DBC.SavedTransactionStatus
- DBC.SysRcvStatJournal
- DBC.TransientJournal
- DBC.UtilityLockJournalTable
詳細については、https://downloads.teradata.com/blog/carrie/2010/05/if-you-re-not-collecting-statistics-on-your-dictionary-tables-do-it-nowを参照してください。