カテゴリ:

システム関数 (システム情報)

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS

指定されたテーブルに 検索最適化 を追加し、検索最適化用の特定の列を構成するための推定コストを返します。

重要

The values returned by the SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS function are best-effort estimates based on sampling a partial dataset in the table. The estimated costs can vary significantly (up to 50% or, in rare cases, by several times) from the actual realized costs.

構文

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('<table_name>' [ , <search_method_with_target> ])
Copy

引数

table_name

検索最適化コストを見積もるテーブル。

テーブル名が完全修飾されていない場合( db_name.schema_name.table_name または schema_name.table_name の形式)、関数はセッションの現在のスキーマにあるテーブルを探します。

名前全体を一重引用符で囲む必要があります。

search_method_with_target

列構成検索方法とターゲット を指定します。

出力

この関数は、以下に説明するプロパティを持つ JSON オブジェクトを返します。

プロパティ

説明

tableName

テーブルの名前。

searchOptimizationEnabled

テーブルに検索最適化プロパティが設定されている場合は true。それ以外の場合は false

costPositions

テーブルに検索最適化を追加するための予測コストを説明する、オブジェクトの配列。

costPositions 配列の各オブジェクトは、異なるタイプのコスト見積もりを表します。

...
"costPositions" : [
  {
    "name" : "BuildCosts",
    ...
  }, {
    "name" : "StorageCosts",
    ...
  }, {
    "name" : "Benefit",
    ...
  }, {
    "name" : "MaintenanceCosts",
    ...
  }
]
...
Copy

name プロパティは、オブジェクトが表すコストのタイプを識別します。 name は次のいずれかです。

name オブジェクトの costPositions

説明

BuildCosts

このオブジェクトは、テーブルの検索アクセスパスを構築するための予測コストを記述します。検索最適化がすでにテーブルに追加されている場合、このオブジェクトにはコスト情報が含まれません。

StorageCosts

このオブジェクトは、テーブルの検索アクセスパスに必要な予測ストレージ容量(単位: TB)を記述します。 . 検索最適化がすでにテーブルに追加されている場合、このオブジェクトは検索アクセスパスで使用されている現在の容量を示します。

Benefit

現時点では、このオブジェクトにはコスト情報が含まれていません。

MaintenanceCosts

このオブジェクトは、テーブルの検索アクセスパスを維持するための予測コストを記述します。このテーブルが最近作成された場合、このオブジェクトにはコスト情報が含まれていません。

costPositions 配列の各オブジェクトは、次のプロパティを持つことができます。

プロパティ

説明

name

このオブジェクトが表すコスト情報のタイプを識別する 名前

costs

次のプロパティの観点から予測コストを説明するオブジェクト。

value

予測コストの金額。

unit

コストの測定単位(例:コンピューティングコストの「クレジット」、ストレージコストの「TB」)。

perTimeUnit

メンテナンスコストの場合、見積もりコストがカバーする時間の単位(たとえば、月あたりのコストの "MONTH")。

computationMethod

複数の方法が利用可能な場合、コストの見積もりに使用される方法。

comment

推定コストに関する追加情報。

使用上の注意

  • 構築コストの場合、この関数は、指定されたテーブルにあるデータのサンプルに対する検索アクセスパスの構築に基づいた概算を返します。

  • メンテナンスコストの場合、この関数は、テーブルに加えられた最近の変更(時間の経過に伴うバイトの変更)に基づいて見積もります。

  • 関数を呼び出すには、使用中のウェアハウスが必要です。現在使用中のウェアハウスがない場合、関数は次のエラーを報告します。

    No active warehouse selected in the current session.
    Select an active warehouse with the 'use warehouse' command.
    
    Copy

    この機能を実行するには、XSウェアハウスを使用できます。 ウェアハウスのサイズ は、この機能の速度とパフォーマンスに影響を与えません。

  • 関数はウェアハウスを使用するため、関数のウェアハウスの使用に対して請求があります。

  • この機能は、完了するまでに20秒から10分の範囲で時間のかかる場合があります。

    上記のように、より大きなウェアハウスサイズを使用しても、この関数の実行が速くなることはありません。

次の例は、テーブルに検索最適化を追加する場合の推定コストを示しています。

select SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITHOUT_SEARCH_OPT');

+---------------------------------------------------------------------------+
| SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITHOUT_SEARCH_OPT')     |
|---------------------------------------------------------------------------|
| {                                                                         |
|   "tableName" : "TABLE_WITHOUT_SEARCH_OPT",                               |
|   "searchOptimizationEnabled" : false,                                    |
|   "costPositions" : [ {                                                   |
|     "name" : "BuildCosts",                                                |
|     "costs" : {                                                           |
|       "value" : 11.279,                                                   |
|       "unit" : "Credits"                                                  |
|     },                                                                    |
|     "computationMethod" : "Estimated",                                    |
|     "comment" : "estimated via sampling"                                  |
|   }, {                                                                    |
|     "name" : "StorageCosts",                                              |
|     "costs" : {                                                           |
|       "value" : 0.070493,                                                 |
|       "unit" : "TB"                                                       |
|     },                                                                    |
|     "computationMethod" : "Estimated",                                    |
|     "comment" : "estimated via sampling"                                  |
|   }, {                                                                    |
|     "name" : "MaintenanceCosts",                                          |
|     "costs" : {                                                           |
|       "value" : 30.296,                                                   |
|       "unit" : "Credits",                                                 |
|       "perTimeUnit" : "MONTH"                                             |
|     },                                                                    |
|     "computationMethod" : "Estimated",                                    |
|     "comment" : "Estimated from historic change rate over last ~11 days." |
|   } ]                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+
Copy

次の例は、すでに検索最適化が行われているテーブルに対するこの関数の出力を示しています。

select SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITH_SEARCH_OPT');
+---------------------------------------------------------------------------+
| SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITH_SEARCH_OPT')        |
|---------------------------------------------------------------------------|
| {                                                                         |
|   "tableName" : "TABLE_WITH_SEARCH_OPT",                                  |
|   "searchOptimizationEnabled" : true,                                     |
|   "costPositions" : [ {                                                   |
|     "name" : "BuildCosts",                                                |
|     "computationMethod" : "NotAvailable",                                 |
|     "comment" : "Search optimization is already enabled."                 |
|   }, {                                                                    |
|     "name" : "StorageCosts",                                              |
|     "costs" : {                                                           |
|       "value" : 0.052048,                                                 |
|       "unit" : "TB"                                                       |
|     },                                                                    |
|     "computationMethod" : "Measured"                                      |
|   }, {                                                                    |
|     "name" : "Benefit",                                                   |
|     "computationMethod" : "NotAvailable",                                 |
|     "comment" : "Currently not supported."                                |
|   }, {                                                                    |
|     "name" : "MaintenanceCosts",                                          |
|     "costs" : {                                                           |
|       "value" : 30.248,                                                   |
|       "unit" : "Credits",                                                 |
|       "perTimeUnit" : "MONTH"                                             |
|     },                                                                    |
|     "computationMethod" : "EstimatedUpperBound",                          |
|     "comment" : "Estimated from historic change rate over last ~11 days." |
|   } ]                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+
Copy