ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> SqlServer >> SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响

SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响

来源:网络整理     时间:2016-06-15     关键词:

本篇文章主要介绍了" SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响",主要涉及到方面的内容,对于SqlServer感兴趣的同学可以参考一下: 环境:SQL Server2012 SP3 企业版,开发服务器,并没有什么负载,全库索引统一Rebuild过 经反复执行验证过,不算太复杂的SQL(存储过程中代...

环境:SQL Server2012 SP3 企业版,开发服务器,并没有什么负载,全库索引统一Rebuild过

经反复执行验证过,

不算太复杂的SQL(存储过程中代入参数抠出来的SQL代码)

 默认情况下,执行完成需要3秒钟

 非要用红色圈中子查询中的表(是一个相关子查询)去驱动其他表,

 SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响

 添加OPTION(FORCE ORDER)后,强制连接顺序,用其他表驱动子查询,1秒钟

 SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响

  默认情况下,IO消耗的比较少(相比强制驱动顺序),但是CPU消耗的比较多,但是整体时间的消耗比强制驱动顺序要多

  强制表的驱动顺序的时候,IO比默认情况下要打,但是,CPU消耗的比较少,整体上耗时较短

后记:

  我一直就怀疑一个问题,SQL Server内部评估执行计划的时候,IO的权重要比其他的资源权重要大,

  遇到不止一次两次类似问题了,

  SQL Server总是“喜欢”选择IO较小的执行方式去完成一个查询,但是这个查询方式,从时间上看,并不一定是最快

以上就介绍了 SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响,包括了方面的内容,希望对SqlServer有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_1711666.html

相关图片

相关文章