ASSOCIATE STATISTICS
目的
ASSOCIATE
STATISTICS
文を使用すると、統計収集、選択性またはコストに関するファンクションが含まれた統計タイプ(またはデフォルトの統計)を、1つ以上の列、スタンドアロン・ファンクション、パッケージ、型、ドメイン索引または索引タイプに関連付けることができます。
現在のすべての統計タイプの関連付けのリストについては、USER_ASSOCIATIONS
データ・ディクショナリ・ビューを問い合せます。統計情報に関連付けるオブジェクトを分析する場合、USER_USTATS
ビューでその関連性を問い合せることができます。
関連項目:
ANALYZE
が関連性で使用する優先順位については、「ANALYZE」を参照してください。
前提条件
この文を発行する場合は、ベース・オブジェクト(表、ファンクション、パッケージ、型、ドメイン索引または索引タイプ)を変更する適切な権限が必要です。さらに、デフォルト統計情報のみを関連付けていないかぎり、統計タイプに対する実行権限が必要です。統計タイプは、すでに定義されている必要があります。
関連項目:
型の定義の詳細は、「CREATE TYPE」を参照してください。
構文
associate_statistics::=
column_association::=
function_association::=
storage_table_clause::=
セマンティクス
function_association
1つ以上のスタンドアロン・ファンクション、パッケージ、ユーザー定義データ型、ドメイン索引または索引タイプを指定します。schema
を指定しない場合、オブジェクトは自分のスキーマ内にあるとみなされます。
-
FUNCTIONS
は、スタンドアロン・ファンクションのみを参照し、メソッド型または組込みファンクションは参照しません。 -
TYPES
はユーザー定義型のみを参照し、組込みSQLデータ型は参照しません。
function_associationの制限事項
関連付けをすでに定義したオブジェクトを指定することはできません。まず、このオブジェクトと統計情報の関連性を取り消す必要があります。
関連項目:
「DISASSOCIATE STATISTICS」の「統計情報の関連付け: 例」を参照してください。
using_statistics_type
列、ファンクション、パッケージ、型、ドメイン索引または索引タイプと関連付ける統計タイプ(または型のシノニム)を指定します。statistics_type
は作成済である必要があります。
NULL
キーワードが有効であるのは、統計情報を列または索引に関連付ける場合のみです。統計タイプをオブジェクト型に関連付けると、そのオブジェクト型の列は統計タイプを継承します。同様に、統計タイプを索引タイプに関連付けると、その索引タイプの索引インスタンスは統計タイプを継承します。この継承を無効にするには、その列または索引に別の統計タイプを関連付けます。その列や索引に統計タイプが何も関連付けられていない状態にするには、using_statistics_type
句の中でNULL
を指定します。
統計タイプの指定の制限事項
ファンクション、パッケージ、タイプまたは索引タイプに、NULL
を指定することはできません。
関連項目:
統計収集ファンクションの作成の詳細は、『Oracle Databaseデータ・カートリッジ開発者ガイド』を参照してください。
default_cost_clause
スタンドアロン・ファンクション、パッケージ、型、ドメイン索引または索引タイプのデフォルトのコストを指定します。この句を指定する場合、CPUコスト、I/Oコスト、ネットワーク・コストの順でそれぞれに対して1つの数を指定する必要があります。それぞれのコストは、ファンクションまたはメソッドを一度実行した場合、またはドメイン索引に一度アクセスした場合の値です。指定できる値は0(ゼロ)以上の整数です。
default_selectivity_clause
スタンドアロン・ファンクション、型、パッケージまたはユーザー定義演算子が指定された述語に対するデフォルトの選択性をパーセントで指定します。default_selectivity_clause
は、0から100の数値である必要があります。範囲外のものは無視されます。
default_selectivity_clauseの制限事項
ドメイン索引または索引タイプに、DEFAULT
SELECTIVITY
を指定することはできません。
関連項目:
storage_table_clause
この句は、INDEXTYPE
の統計に対してのみ有効です。
-
WITH
SYSTEM
MANAGED
STORAGE
TABLES
を指定すると、統計データの格納がシステムで管理されます。statistics_type
に指定するタイプによって、システムで保持される表に統計関連の情報が格納されます。また、指定する索引タイプはすでに登録済であるか、またはWITH
SYSTEM
MANAGED
STORAGE
TABLES
句をサポートするように変更されている必要があります。 -
WITH
USER
MANAGED
STORAGE
TABLES
を指定すると、ユーザー定義の統計情報を格納する表は、ユーザーによって管理されます。これはデフォルトの動作です。
例
統計情報の関連付け: 例
この文は、スタンドアロン・パッケージemp_mgmt
に関連付けを作成します。このパッケージを作成する例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ASSOCIATE STATISTICS WITH PACKAGES emp_mgmt DEFAULT SELECTIVITY 10;
デフォルト・コストの指定: 例
次の文は、ドメイン索引salary_index
(「拡張索引作成機能の使用方法」で作成)を使用して任意の述語を実装した場合、常にCPUコストは100、I/Oコストは5およびネットワーク・コストは0になるように指定します。
ASSOCIATE STATISTICS WITH INDEXES salary_index DEFAULT COST (100,5,0);
オプティマイザは、コスト・ファンクションをコールするかわりに、これらのデフォルト・コストを使用します。