万梅资源网 Design By www.ubjie.com
通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用并行执行,速度较快。而我们优化完的执行计划由于索引的存在,且表内数据非常大,过滤条件的值在一个很宽的统计信息步长范围内,导致估计行数出现较大偏差(过滤条件实际为15000行,步长内估计的平均行数为800行左右),因此查询优化器选择了Loop Join,且没有选择并行执行,因此执行时间不降反升。
由于语句是在存储过程中实现,因此我们直接对该语句使用一个undocument查询提示,使得该查询的并行开销阈值强制降为0,使得该语句强制走并行,语句执行时间由20秒降为5秒(注:使用Hash Join提示是7秒)。
下面通过一个简单的例子展示使用该提示的效果,示例T-SQL如代码清单1所示:
SELECT * FROM [AdventureWorks].[Sales].[SalesOrderDetail] a INNER JOIN [Sales].SalesOrderHeader b ON a.SalesOrderID=b.SalesOrderID
代码清单1.
该语句默认不会走并行,执行计划如图1所示:
下面我们对该语句加上提示,如代码清单2所示。
SELECT * FROM [AdventureWorks].[Sales].[SalesOrderDetail] a INNER JOIN [Sales].SalesOrderHeader b ON a.SalesOrderID=b.SalesOrderID OPTION(querytraceon 8649)
代码清单2.
此时执行计划会按照提示走并行,如图2所示:
在面对一些复杂的DSS或OLAP查询时遇到类似的情况,可以考虑使用该Undocument提示要求SQL Server尽可能的使用并行,从而降低执行时间。
万梅资源网 Design By www.ubjie.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
万梅资源网 Design By www.ubjie.com
暂无评论...
![](/images/logos.png)
www.ubjie.com
万梅资源网
19,976影音资源
44,792技术资源
1,817软件资源
451,128站长资源
最新文章
友情链接
杰晶网络
DDR爱好者之家
桃源资源网
杰网资源
富贵资源网
南强小屋
铁雪资源网
幽灵资源网
万梅资源网
狼山资源网
白云岛资源网
昆仑资源网
相思资源网
明霞山资源网
内蒙古资源网
黑松山资源网
茶园资源网
饿虎岗资源网
大旗谷资源网
常春岛资源网
岱庙资源网
兴国资源网
快活林资源网
蝙蝠岛资源网
帝王谷资源网
白云城资源网
伏龙阁资源网
清风细雨楼
天枫庄资源网
圆月山庄资源网
无争山庄资源网
神水资源网
移花宫资源网
神剑山庄资源网
无为清净楼资源网
金钱帮资源网
丐帮资源网
华山资源网
极乐门资源网
小李飞刀资源网
凤求凰客栈
风云阁资源网
金狮镖局
鸳鸯亭资源网
千金楼资源网
更多链接
万梅资源网 Design By www.ubjie.com