GENERATE_STATS_FOR_FIELDS

説明

ストアドプロシージャ GENERATE_STATS_FOR_FIELDS は、ビューのフィールドの統計 (各フィールドの最小値、最大値など) とビューの行数を収集 および 格納します。このプロシージャは、 GENERATE_STATS プロシージャ (「 GENERATE_STATS 」を参照) と同様に動作しますが、指定したフィールドの統計のみを収集するところが異なります。

可能な場合は、 GENERATE_SMART_STATS_FOR_FIELDS プロシージャを使用してください。このプロシージャは、通常の SELECT ステートメントを実行する代わりに、データベースのシステムテーブルに対してクエリを実行してこれらの統計を取得することができます。

構文

GENERATE_STATS_FOR_FIELDS(
      viewname : text,
    , fields : array
)
  • viewname: このプロシージャは、この名前 (大文字/小文字が同じ) のビューの統計を収集します。

  • fields: このプロシージャが統計を取得する対象となるフィールド名の配列。ビューの一部のフィールドのみを指定した場合、すでに収集されたビューの他のフィールドの統計は削除されません。

    null の場合、このプロシージャはビューのすべてのフィールドの統計を収集します。

    空の配列 ({}) の場合、このプロシージャはビューの行数を収集しますが、フィールドの統計は取得しません。

必要な権限

このプロシージャを実行できるのは、ビューに対する Write 権限を持っているユーザーのみです。つまり、以下のユーザーはこのプロシージャを実行できます。

  • 管理者またはこのデータベースの管理者。

  • このデータベースに対する Connect 権限と Write 権限を持っているユーザー。

  • このデータベースに対する Connect 権限とこのビューに対する Write 権限を持っているユーザー。

例 1

CALL GENERATE_STATS_FOR_FIELDS (
    'internet_inc',
    { ROW('iinc_id') , ROW('taxid'), ROW('summary') } )

このステートメントは、ビュー internet_inc のフィールド iinc_idtaxid 、および summary の統計を収集および格納します。

2 番目のパラメーターは配列であるため、 { ROW(...), ROW(...),...} 構造体を使用してフィールド名の配列を定義する必要があります。この構造体の詳細については、「 複合値を使用した条件 」を参照してください。

例 2

CALL GENERATE_STATS_FOR_FIELDS ('internet_inc', { } )

このステートメントは、ビューによって返される行数を収集および格納しますが、ビューのフィールド統計は取得しません。