Ein ausführlicher Textplan enthält mehr Informationen als der kurze Textplan, einschließlich des im Cache gespeicherten Plans für eine Anweisung, und stellt diese so dar, dass sie einfach gedruckt bzw. angezeigt werden können, ohne dass Sie blättern müssen.
Voraussetzungen
Sie müssen entweder Eigentümer der Objekte sein, für die die Funktion ausgeführt wird, oder die geeigneten SELECT-, UPDATE-, DELETE- oder INSERT-Privilegien für die Objekte haben.
Stellen Sie eine Verbindung mit einer Datenbank her.
Führen Sie die PLAN-Funktion aus.
Beispiel
In diesem Beispiel basiert der ausführliche Textplan auf der folgenden Anweisung:
SELECT PLAN ('SELECT GivenName, Surname, OrderDate, Region, Country FROM GROUPO.Customers JOIN GROUPO.SalesOrders ON ( SalesOrders.CustomerID = Customers.ID ) WHERE CustomerID < 100 AND ( Region LIKE ''Eastern'' OR Country LIKE ''Canada'' ) ORDER BY OrderDate'); |
Der ausführliche Textplan lautet wie folgt:
( Plan [ Total Cost Estimate: 6.46e-005, Costed Best Plans: 1, Costed Plans: 10, Optimization Time: 0.0011462, Estimated Cache Pages: 348 ] ( WorkTable ( Sort ( NestedLoopsJoin ( IndexScan Customers CustomersKey[ Customers.ID < 100 : 0.0001% Index | Bounded ] ) ( IndexScan SalesOrders FK_CustomerID_ID[ Customers.ID = SalesOrders.CustomerID : 0.79365% Statistics ] [ ( SalesOrders.CustomerID < 100 : 0.0001% Index | Bounded ) AND ( ( ((Customers.Country LIKE 'Canada' : 100% Computed) AND (Customers.Country = 'Canada' : 5% Guess)) OR ((SalesOrders.Region LIKE 'Eastern' : 100% Computed) AND (SalesOrders.Region = 'Eastern' : 5% Guess)) ) : 100% Guess ) ] ) ) ) ) ) |
Das Wort "Plan" gibt den Start eine Abfrageblocks an. "Total Cost Estimate" ist die vom Optimierer geschätzte Zeit in Millisekunden für die Ausführung des Plans. "Costed Best Plans", "Costed Plans" und "Optimization Time" sind Statistiken des Optimierungsprozesses, während "Estimated Cache Pages" für die geschätzte aktuelle Cachegröße steht, die zum Verarbeiten der Anweisung verfügbar ist.
Der Plan gibt an, dass die Ergebnisse sortiert sind und dass ein Nested-Loops-Join benutzt wird. In der gleichen Zeile wie der Join-Operator befinden sich die Join-Bedingung und deren Selektivitätsschätzung (die für alle vom Join-Operator erzeugten Zeilen ausgewertet wird). Die IndexScan-Zeilen geben an, dass über die Indizes "CustomersKey" und "FK_CustomerId_ID" auf die Tabellen "Customers" und "SalesOrders" zugegriffen wird.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |