Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询处理 » 查询优化与执行 » 读取执行计划 » 读取文本计划

 

详细文本计划

详细文本计划提供的信息略多于简要文本计划,这些信息以便于打印和查看(无需滚动)的方式提供。

在下面的示例中,详细文本计划的第一行为 Plan[ Total Cost Estimate: 6.46e-005 ],其中 Plan 一词表示查询块的开始。Total Cost Estimate 为优化程序估计的计划执行时间(以毫秒为单位)。Estimated Cache Pages 是预计的可用于处理语句的当前高速缓存大小。

该计划指出,将对结果进行排序,并且会使用嵌套循环连接。在连接运算符所在的行上,还包含 TRUE 一词或其它搜索条件及其选择性估计值(其为对连接运算符所生成的所有行的计算)。IndexScan 行指示分别通过索引 CustomersKey 和 FK_CustomerId_ID 访问 Customers 和 SalesOrders 表。

SELECT PLAN ('SELECT GivenName, Surname, OrderDate, Region, Country
FROM Customers JOIN SalesOrders ON ( SalesOrders.CustomerID = Customers.ID )
WHERE CustomerID < 100 AND ( Region LIKE ''Eastern''
      OR Country LIKE ''Canada'' )
ORDER BY OrderDate');
( 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 )  ] )
      )
    )
  )
)

有关计划中使用的缩写的详细信息,请参见执行计划缩写