( ) *
26,:,,6:=:.,.7=(29:::::
( 26,% #266D<:D6.=DD,7(26......
26
B%%; !
E F ; )
0(0#5'E F ;6-.....
正如我们所看到的,查询的外部嵌套循环用时
6.=DD,7
毫秒,返回了
6..
万条记录,但查询的总持续时间报告为
6-D6<97
毫秒。这有什么区别
吗?
直接的
表明,对于这个简单的查询,规划时间为亚
毫秒级,其中的数据来自一个没有任何索引的单个表。所以规划时间不应该是
原因。
场景
,
从远程应用主机服务器执行
同样,
日志中的信息看起来不太一样:
,.,78.98.,.7;.9;-9D-->/?@,-=6<ABC;% ;=-=9=-D#
;
%'/+; !"#$%!
!%&"#$%%'
( ) *
26,:,,6:=:.,.7=(29:::::
( 26,% #267.=776.=D6-:(26......
26
B%%; !
E F ; )
0(0#5'E F ;6-.....
正如我们所看到的,语句持续时间跃升至
=-=9=-D
毫秒!尽管查询的
实际执行时间几乎相同,为
6.=D6-:
毫秒。这是一个巨大的差异。这可能是
什么原因造成的呢?
返回少量行的查询
上述查询可以稍作修改,以仅返回最大值。修改后的测试查询可能如下所
示:
#+ !#+"#$%!
!%&"#$%%'
( ) *
除了有一个额外的聚合节点外,查询计划或时间不会发生太大变化。即使
在计划中有跟我们正在讨论的主题无关的变化,因为我们只考虑查询执行的外
部节点,与
报告的持续时间之间的时间差。
场景
6
在数据库主机服务器上执行
,.,78.98.:.=;-9;67:=7>/?@,96,DABC;% ;6.6667:#
;
%'/+;#+ !#+"#
评论