小编典典

SQL Server ARITHABORT

sql

我正在与一个刚从SQL 2000升级到SQL 2008的客户端一起工作,他们的视图查询时间已经增加了很多。

我查看了这些视图,看不出它们有多大错。当我直接在服务器上运行视图时,一切正常。当我通过Management
Studio远程运行时,时间从2秒变为大约30秒。

因此,我通过将ARITHABORT设置为ON(基于某些文章)尝试了对测试副本的实验,并且时间也减少了。

因此,设置ARITHABORT似乎是答案,但是在申请实时DB之前,我想了解原因。我知道这与零分的严重程度有关,但是为什么它可以帮助查看查询时间呢?


阅读 246

收藏
2021-03-23

共1个答案

小编典典

蒂姆

我认为在SQL Server
2000中,如果将ARITHABORT设置为OFF,则查询优化器在制定查询执行计划时将不考虑索引视图索引。因此,如果最佳计划使用视图索引,那将很重要。我不知道情况是否仍然如此,但是当您查看查询计划时,您可以专门查看更快的计划是否提及视图索引。

我不知道ARITHABORT与索引视图有关的特定原因,但是SET选项会影响很多事情,并且ARITHABORT的情况很难保持稳定。

兼容性级别会影响某些行为,这也不是毫无疑问的。如果将任何升级的数据库设置为级别80或90,您可能会看到是否确实需要这样做。

2021-03-23