我正在与一家供应商合作,安排他们提供核心应用程序,只要不修改核心应用程序,我就可以构建自己的扩展。它内置在ColdFusion中,可连接到SQL Server 2005数据库。
我构建的某些报告依赖于使用从核心表计算出的函数的视图,并且随着表的增大,报告变得非常慢。为了加快报告速度,我想使用索引视图。但是,在我的测试环境中创建了索引视图之后,核心应用程序无法再插入到核心表中(它返回了一条错误消息,这ARITHABORT
是ON
使用索引视图时所必需的)。
因此,似乎为了使用索引视图,SET ARITHABORT ON
每当插入/更新核心表时,我都需要拥有核心应用程序。我在测试环境中运行了此命令:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
而且似乎工作正常。但是我的供应商说,由于应用程序具有成千上万的查询,因此该设置可能会中断其中一个查询,并且如果将来出现一些意外的数据库问题,他们会坚持要求我恢复默认设置。
是否有实际的查询会被打破SET ARITHABORT ON
?在任何情况下都最好保留它OFF
?
TL; DR为了使新的索引视图生效,我需要ARITHABORT ON
为整个数据库进行设置,但是我的供应商警告说,这将由我自己承担风险。实际上有风险吗?