- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS¶
Gibt die geschätzten Kosten für das Hinzufügen der Suchoptimierung zu einer bestimmten Tabelle und das Konfigurieren bestimmter Spalten für die Suchoptimierung zurück.
Wichtig
Die von der Funktion SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS zurückgegebenen Werte sind bestmögliche Schätzungen, die auf Stichproben aus einem Teil-Dataset der Tabelle basieren. Die geschätzten Kosten können erheblich (bis zu 50 % oder in seltenen Fällen um ein Vielfaches) von den tatsächlich realisierten Kosten abweichen.
Syntax¶
SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('<table_name>' [ , <search_method_with_target> ])
Argumente¶
table_name
Tabelle, für die Sie die Kosten für die Suchoptimierung schätzen möchten.
Wenn der Tabellenname nicht vollqualifiziert ist (in Form von
db_name.schema_name.table_name
oderschema_name.table_name
), sucht die Funktion die Tabelle im aktuellen Schema der Sitzung.Beachten Sie, dass der gesamte Name in einfache Anführungszeichen gesetzt werden muss.
search_method_with_target
Gibt eine Suchmethode und ein Ziel für eine Spaltenkonfiguration an.
Ausgabe¶
Die Funktion gibt ein JSON-Objekt mit den unten beschriebenen Eigenschaften zurück:
Eigenschaft |
Beschreibung |
---|---|
|
Name der Tabelle. |
|
|
|
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:
|
Beschreibung |
---|---|
|
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. |
|
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. |
|
Dieses Objekt enthält derzeit keine Kosteninformationen. |
|
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, der den Typ der von diesem Objekt repräsentierten Kosteninformationen angibt. |
|
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. |
|
Methode zur Schätzung der Kosten, wenn mehrere Methoden verfügbar sind. |
|
Zusätzliche Informationen zu den geschätzten Kosten. |
Nutzungshinweise¶
Für die Erstellungskosten gibt diese Funktion einen Näherungswert zurück, der sich auf die Erstellung von Suchzugriffspfaden für eine Stichprobe der Daten in der angegebenen Tabelle bezieht.
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).
Zum Aufrufen der Funktion ist ein aktives Warehouse erforderlich. Wenn derzeit kein aktives Warehouse vorhanden ist, gibt die Funktion folgende Fehlermeldung aus:
No active warehouse selected in the current session. Select an active warehouse with the 'use warehouse' command.
Um diese Funktion auszuführen, können Sie ein X-Small-Warehouse verwenden. Die Größe des Warehouses hat keinen Einfluss auf die Geschwindigkeit und Leistung dieser Funktion.
Da die Funktion ein Warehouse verwendet, wird Ihnen nun die Warehouse-Nutzung für diese Funktion in Rechnung gestellt.
Die Ausführung der Funktion kann zwischen 20 Sekunden und 10 Minuten dauern.
Wie bereits erwähnt, führt die Verwendung einer größeren Warehouse-Größe nicht zu einer schnelleren Ausführung dieser Funktion.
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" : "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." | | } ] | | } | +---------------------------------------------------------------------------+
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." | | } ] | | } | +---------------------------------------------------------------------------+