カテゴリ:

Information Schemaテーブル関数

SEARCH_OPTIMIZATION_HISTORY

このテーブル関数は、指定された日付範囲内にある指定されたテーブルの 検索最適化サービス のメンテナンス履歴をクエリするために使用されます。関数によって返される情報には、テーブル名と、検索最適化のメンテナンス操作が発生するたびに消費されるクレジットが含まれます。

構文

SEARCH_OPTIMIZATION_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ]
      [ , TABLE_NAME => '<string>' ] )
Copy

引数

すべての引数はオプションです。

DATE_RANGE_START => constant_expr. DATE_RANGE_END => constant_expr

履歴を表示する日付/時刻の範囲。たとえば、開始日を2019-04-03、終了日を2019-04-05と指定すると、4月3日、4月4日、4月5日のデータが取得されます。(エンドポイントを含む。)

  • 開始日も終了日も指定されていない場合、過去12時間がデフォルトです。

  • 終了日は指定されていないが、開始日は指定されている場合は、 CURRENT_DATE の午前0時が範囲の終了として使用されます。

  • 開始日は指定されていないが、終了日は指定されている場合、範囲は DATE_RANGE_END の開始12時間前に開始します。

TABLE_NAME => string

テーブル名。指定した場合は、指定したテーブルの履歴のみを表示します。名前には、スキーマ名とデータベース名を含めることができます。

名前が指定されていない場合、結果には、指定された時間範囲内でメンテナンスが実行された検索最適化がある各テーブルのデータが含まれます。

使用上の注意

  • ACCOUNTADMIN ロールまたは MONITOR USAGE グローバル権限が明示的に付与されているロールの結果のみを返します。

    注釈

    MONITOR USAGE 権限を持つロールは、オブジェクトごとのクレジット使用状況を表示できますが、オブジェクト名は表示できません。この関数によってオブジェクトの名前が返されるようにするには、オブジェクトに SELECT も付与する必要があります。ロールにオブジェクト名を表示するための十分な権限がない場合、オブジェクト名は「unknown_#」などの代替名で表示される場合があります。「#」は1桁以上を表します。

  • 情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。

  • 履歴は1時間単位で表示されます。

出力

この関数は、次の列を返します。

列名

データ型

説明

START_TIME

TIMESTAMP_LTZ

指定された時間範囲の開始です。

END_TIME

TIMESTAMP_LTZ

指定された時間範囲の終了です。

CREDITS_USED

TEXT

START_TIME および END_TIME の期間中に検索インデックスのメンテナンスに対して請求されたクレジットの数です。

TABLE_NAME

TEXT

テーブルの名前。

アカウントの1時間範囲の履歴を取得します。

select *
  from table(information_schema.search_optimization_history(
    date_range_start=>'2019-05-22 19:00:00.000',
    date_range_end=>'2019-05-22 20:00:00.000'));
Copy

出力例を次に示します。

+-------------------------------+-------------------------------+--------------+----------------------------------+
| START_TIME                    | END_TIME                      | CREDITS_USED | TABLE_NAME                       |
|-------------------------------+-------------------------------+--------------+----------------------------------|
| 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 |  0.223276651 | TEST_DB.TEST_SCHEMA.TEST_TABLE_1 |
+-------------------------------+-------------------------------+--------------+----------------------------------+
Copy

アカウントの過去12時間の履歴を取得します。

select *
  from table(information_schema.search_optimization_history(
    date_range_start=>dateadd(H, -12, current_timestamp)));
Copy

指定されたテーブルの過去1週間の履歴を取得します。

select *
  from table(information_schema.search_optimization_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date,
    table_name=>'mydb.myschema.my_table')
    );
Copy

アカウント内にある指定されたテーブルの過去1週間のメンテナンス履歴を取得します。

select *
  from table(information_schema.search_optimization_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date)
    );
Copy