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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 查询和数据修改 » 查询 » 高级:查询执行计划

 

查看详细文本计划

详细文本计划提供的信息多于简要文本计划,其中包括语句的高速缓存计划,详细文本计划采用便于打印和查看(无需滚动)的格式。

前提条件

您必须是执行函数的对象的所有者,或者对对象具有相应的 SELECT、UPDATE、DELETE 或 INSERT 特权。

 任务
  1. 连接到数据库。

  2. 执行 PLAN 函数。

结果

详细文本计划显示在 Interactive SQL 的 [结果] 窗格中。

在本例中,详细文本计划基于下列语句:

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');

详细文本计划按如下方式读取:



( 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 )  ] )
      )
    )
  )
)

Plan 一词表示查询块的开始。Total Cost Estimate 为优化程序估计的计划执行时间(以毫秒为单位)。成本最佳计划、成本计划和优化时间是优化过程的统计信息,而预计高速缓存页是预计的可用于处理语句的当前高速缓存大小。

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


 另请参见