DBMS_AW_STATS
には、キューブおよびディメンションに関するオプティマイザ統計情報を生成して格納するサブプログラムが含まれています。統計情報の生成には、大幅なパフォーマンス・コストはかかりません。
関連項目: ビジネス・インテリジェンス・アプリケーションおよび分析アプリケーションをサポートするOLAPオプションの使用の詳細は、『Oracle OLAPユーザーズ・ガイド』を参照してください。 |
この章では、次の項目について説明します。
キューブおよびディメンションは、複数ディメンションの分析をサポートする優れたデータ・オブジェクトです。キューブおよびディメンションは、アナリティック・ワークスペースと呼ばれるコンテナに格納されています。 OLAPオプションを使用すると、Oracle Databaseで複数ディメンションのオブジェクトと分析を使用できます。
オプティマイザ統計情報は、2つのキューブ・ビューを結合する問合せ、またはキューブ・ビューを表または表のビューに結合する問合せの実行計画を作成するために使用されます。また、キューブ・マテリアライズド・ビューへのクエリー・リライトにも使用されます。オプティマイザ統計情報は、これらのタイプの問合せに対してのみ必要です。
単一のキューブに対する問合せでは、オプティマイザ統計情報を使用しません。これらの問合せは、アナリティック・ワークスペース内で自動的に最適化されます。
このプロシージャは、キューブまたはディメンションに関するオプティマイザ統計情報を生成します。
キューブの場合、統計情報は、すべてのメジャーおよびキューブに関連付けられた計算済のメジャーに対して収集されます。統計情報には次のものが含まれています。
データ値の平均長
最大データ値の長さ
最小値
個別値の数
NULL値の数
ディメンションの場合、統計情報は、ディメンションとその属性、レベルおよび階層に対して収集されます。統計情報には次のものが含まれています。
値の平均長
最大値の長さ
最小値
最大値
構文
DBMS_AW_STATS.ANALYZE (object IN VARCHAR2);
パラメータ
表27-2 ANALYZEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
キューブまたはディメンションの修飾名。 キューブの場合、修飾名の形式は、 ディメンションの場合、修飾名の形式は、 |
例
このサンプル・スクリプトは、UNITS_CUBE
およびそのディメンションに関するオプティマイザ統計情報を生成します。
BEGIN DBMS_AW_STATS.ANALYZE('units_cube'); DBMS_AW_STATS.ANALYZE('time'); DBMS_AW_STATS.ANALYZE('customer'); DBMS_AW_STATS.ANALYZE('product'); DBMS_AW_STATS.ANALYZE('channel'); END; /
次に示すように、オプティマイザ統計情報によって、Oracle DatabaseでUNITS_CUBE
に対する問合せの実行計画を作成できます。
SQL> EXPLAIN PLAN FOR SELECT * from units_cube_view; Explained. SQL> SELECT plan_table_output FROM TABLE(dbms_xplan.display()); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------- Plan hash value: 3488499021 -------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 4475K| 93M| 661 (85)| 00:00:08 | | 1 | CUBE SCAN PARTIAL OUTER| UNITS_CUBE | 4475K| 93M| 661 (85)| 00:00:08 | -------------------------------------------------------------------------------------- 8 rows selected.