下面是在图形式计划的 [节点统计] 部分显示的字段的说明。
字段 | 说明 |
---|---|
CacheHits |
此运算符发出的高速缓存读取请求(不需要进行磁盘读取操作的缓冲池满足了这些请求)的总数。 |
CacheRead |
为读取数据库文件的页(通常为表页和/或索引页),此运算符所进行尝试的总次数。 |
CPUTime |
此节点代表的处理算法所需的 CPU 时间。 |
DiskRead |
由于此节点的处理已从磁盘读取的累积页数。 |
DiskReadTime |
执行数据库页(此节点处理时需要)的磁盘读取所需要的累积运行时间。 |
DiskWrite |
由于此节点的处理已写入磁盘的累积页数。 |
DiskWriteTime |
执行数据库页(此节点的处理算法需要)的磁盘写入所需要的累积运行时间。 |
FirstRowRunTime |
FirstRowRunTime 值是生成此节点中间结果的第一行所需要的实际时间。 |
Invocations |
调用节点来计算一个结果并将结果返回到父节点的次数。多数节点只被调用一次。但是,如果扫描节点的父节点是一个嵌套循环连接,那么该节点可能被执行多次,并且每次调用后可能返回不同的行集。 |
PercentTotalCost |
计算此特定节点内结果所花费的 [运行时],表示为语句总运行时的百分比。 |
QueryMemMaxUseful |
预期用于此特定运算符的估计查询内存量。如果该值与实际使用的查询内存量(报告为 [实际] 统计信息)差别较大,则表明查询优化程序所估计的结果集大小可能有问题。此估计错误的一个可能原因是谓语选择性估计值不准确或缺失。 |
RowsReturned |
作为处理请求的结果返回到父节点的行数。RowsReturned 经常(但不是必须)与该节点所代表的(可能是派生的)对象中的行数相同。考虑表示基表扫描的叶节点。RowsReturned 值可能小于或大于表中的行数。如果在计算最终结果时父节点无法请求表中的所有行,则 RowsReturned 值较小。在某些情况下 RowsReturned 值可能较大,比如在 GROUP BY GROUPING SETS 查询中,父 Group By Hash Grouping Sets 节点需要通过输入进行多次传递以计算不同的组。 如果估计的返回行数与实际返回的行数存在较大差异,则可能表明优化程序正在处理选择性很低的信息。 |
RunTime |
该值是对挂钟时间的测量,包括输入/输出等待、行锁、表锁、内部服务器并发控制机制和实际运行时处理。对 [运行时] 的解释取决于它出现在的统计信息部分。在 [节点统计] 中,[运行时] 是只对此节点执行期间该节点的相应运算符所花费的累积时间。此项统计的估计值和实际值都显示在 [节点统计] 部分中。 如果节点的 [运行时] 大于表扫描或索引扫描的预期值,则进一步分析可能有助于查明问题。查询可能争用共享资源并因此阻塞;可使用 sa_locks() 系统过程监视阻塞的连接。作为另一个示例,磁盘上的数据库页布局可能不是最优,或者表产生了内部页碎片。可以通过执行 REORGANIZE TABLE 语句来提高性能。可使用 sa_table_fragmentation() 和 sa_index_density() 系统过程来确定表或索引是否产生了碎片。 |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |