Kategorien:

Systemfunktionen (Systeminformationen)

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS

Gibt die geschätzten Kosten für das Hinzufügen der Suchoptimierung zu einer bestimmten Tabelle zurück.

Syntax

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('<table_name>')

Argumente

Tabellenname

Tabelle, für die Sie die Kosten für die Suchoptimierung schätzen möchten.

Wenn der Tabellenname nicht vollqualifiziert ist (in Form von Datenbankname.Schemaname.Tabellenname oder Schemaname.Tabellenname), sucht die Funktion die Tabelle im aktuellen Schema der Sitzung.

Beachten Sie, dass der gesamte Name in einfache Anführungszeichen gesetzt werden muss.

Ausgabe

Die Funktion gibt ein JSON-Objekt mit den unten beschriebenen Eigenschaften zurück:

Eigenschaft

Beschreibung

tableName

Name der Tabelle.

searchOptimizationEnabled

true, wenn die Suchoptimierungseigenschaft für die Tabelle festgelegt ist, sonst false.

costPositions

Array von Objekten, die die prognostizierten Kosten für das Hinzufügen der Suchoptimierung zur Tabelle beschreiben.

Jedes Objekt im Array costPositions repräsentiert einen andere Typ der Kostenschätzung:

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

Die Eigenschaft name gibt den Typ der Kosten an, die vom Objekt repräsentiert werden. name kann Folgendes sein:

name des Objekts in costPositions

Beschreibung

BuildCosts

Dieses Objekt beschreibt die prognostizierten Kosten für die Erstellung des Suchzugriffspfads für die Tabelle. Wenn der Tabelle bereits eine Suchoptimierung hinzugefügt wurde, enthält dieses Objekt keine Kosteninformationen.

StorageCosts

Dieses Objekt beschreibt die vorhergesagte Menge an Speicherplatz (in TB), die für den Suchzugriffspfad der Tabelle benötigt wird. . Wenn der Tabelle bereits eine Suchoptimierung hinzugefügt wurde, zeigt dieses Objekt den aktuellen Speicherplatz an, der vom Suchzugriffspfad genutzt wird.

Benefit

Dieses Objekt enthält derzeit keine Kosteninformationen.

MaintenanceCosts

Dieses Objekt beschreibt die prognostizierten Kosten für die Verwaltung des Suchzugriffspfads der Tabelle. Wenn diese Tabelle gerade erst erstellt wurde, enthält dieses Objekt keine Kosteninformationen.

Jedes Objekt im Array costPositions kann die folgenden Eigenschaften haben:

Eigenschaft

Beschreibung

name

Name, der den Typ der von diesem Objekt repräsentierten Kosteninformationen angibt.

costs

Objekt, das die prognostizierten Kosten anhand der folgenden Eigenschaften beschreibt:

value

Betrag der prognostizierten Kosten.

unit

Maßeinheit für die Kosten (z. B. „Credits“ für Computekosten, „TB“ für Speicherkosten usw.).

perTimeUnit

Für Wartungskosten die Zeiteinheit, die die geschätzten Kosten abdeckt (z. B. "MONTH" für die Kosten pro Monat).

computationMethod

Methode zur Schätzung der Kosten, wenn mehrere Methoden verfügbar sind.

comment

Zusätzliche Informationen zu den geschätzten Kosten.

Nutzungshinweise

  • Für die Erstellungskosten gibt diese Funktion eine geschätzte Kostenobergrenze zurück. Die tatsächlichen Kosten können niedriger sein.

  • Für die Wartungskosten basieren die Schätzungen dieser Funktion auf den letzten Änderungen, die an der Tabelle vorgenommen wurden (die Änderungen in Bytes im Laufe der Zeit).

Beispiele

Das folgende Beispiel zeigt die geschätzten Kosten für das Hinzufügen einer Suchoptimierung zu einer Tabelle:

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" : "EstimatedUpperBound"                           |
|   }, {                                                                    |
|     "name" : "StorageCosts",                                              |
|     "costs" : {                                                           |
|       "value" : 0.070493,                                                 |
|       "unit" : "TB"                                                       |
|     },                                                                    |
|     "computationMethod" : "EstimatedUpperBound"                           |
|   }, {                                                                    |
|     "name" : "MaintenanceCosts",                                          |
|     "costs" : {                                                           |
|       "value" : 30.296,                                                   |
|       "unit" : "Credits",                                                 |
|       "perTimeUnit" : "MONTH"                                             |
|     },                                                                    |
|     "computationMethod" : "EstimatedUpperBound",                          |
|     "comment" : "Estimated from historic change rate over last ~11 days." |
|   } ]                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+

Das folgende Beispiel zeigt die Ausgabe dieser Funktion für eine Tabelle, die bereits über eine Suchoptimierung verfügt:

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." |
|   } ]                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+