SQL Server2016种的一个新特性是 可以动态的显示 执行计划的过程,就像小视频一样的效果。
一、准备工作
在数据库有一个表tb,数据量在8000w左右,如果数据量少了,显示的动态过程会一闪而过。
演示的例子很简单,就是要计算tb表的准确记录数,代码如下:
SELECT COUNT(*) FROM tb
之前版本ssms上有2个按钮:显示估计的执行计划、包括实际的执行计划。
点击红色圈的这个按钮,是2016新增的,包括实时查询统计信息:
二、点击“执行按钮”,显示的执行计划,截图:
(1)图中最右侧,table scan执行了70%,预估81793900条数据,已经扫描了57718436条数据,57718436/81793900=0.7,也就是70%,消耗时间48.519秒。
(2)这张图显示,最右侧的table scan已经执行完,实际的行数是81793936条,而不是预估的81793900,但是很接近。
(3)显示整个语句已经执行完,其中从右边往左数,第2、3个,显示200%,这个是8/4 = 2这么算出来的。
说明执行计划中的这2个操作是并行执行的,预估是4个线程,实际上有8个线程同时执行,所以最后就是200%了。
这个是执行结果,说明tb表有 81793936条数据。