一尘不染

为什么 SET ARITHABORT ON 会显着加快查询速度?

sql

该查询是包含许多分组级别和聚合操作的单个选择。使用 SET ARITHABORT ON 只需不到一秒钟,否则需要几分钟。我们已经在 SQL Server 2000 和 2008 上看到了这种行为。


阅读 85

收藏
2022-10-25

共1个答案

一尘不染

有点过时了,但对于任何在这里遇到类似问题的人......

我有同样的问题。对我来说,它原来是参数嗅探,起初我对它的理解不够关心。我添加了一个“设置 arithabort on”,它解决了问题,但后来又回来了。然后我读到:

http://www.sommarskog.se/query-plan-mysteries.html

它清除了一切。因为我使用的是 Linq to SQL 并且解决问题的选项有限,所以我最终使用了查询计划指南(请参阅链接末尾)来强制执行我想要的查询计划。

2022-10-25