カラム統計は、データベースのシステムテーブル ISYSCOLSTAT に永久的に格納されます。オプティマイザのパフォーマンスを向上させ続けられるように、データベースサーバは、SELECT、INSERT、UPDATE、DELETE の各文の処理中に、自動的にカラム統計を更新します。これには、単一のローに対する文も含まれます。これは、テーブルやカラムを参照する述部に一致するローの数をモニタリングし、その数を推定されたローの数と比較し、必要に応じて既存の統計を更新することで行います。
利用可能なカラム統計の精度が高くなると、それに従ってオプティマイザがより適切に推定を計算できるため、以降のクエリのパフォーマンスが向上します。
データベースオプションを使用して、カラム統計を更新するかどうかを設定できます。update_statistics データベースオプションは、クエリの実行中にカラム統計を更新するかどうかを指定します。collect_statistics_on_dml_updates データベースオプションは、LOAD、INSERT、DELETE、UPDATE などのデータを変更する DML 文の実行中に統計を更新するかどうかを指定します。
統計が現在のカラムの値を正確に反映していないためにパフォーマンスが悪いと考えられる場合は、CREATE STATISTICS 文や DROP STATISTICS 文を実行します。CREATE STATISTICS は古い統計を削除して新しい統計を作成し、DROP STATISTICS は古い統計を削除するだけです。
CREATE INDEX 文を実行すると、インデックスの統計が自動的に作成されます。
LOAD TABLE 文を実行すると、テーブルの統計が自動的に作成されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |