Estoy trabajando con un proveedor con el acuerdo de que proporcionan la aplicación principal, y puedo construir mis propias extensiones siempre que no modifique la aplicación principal. Está construido en ColdFusion conectando a una base de datos SQL Server 2005.
Algunos de los informes que he creado dependen de vistas que utilizan funciones calculadas a partir de las tablas principales, y los informes se vuelven muy lentos a medida que las tablas se hacen más grandes. Para acelerar los informes, quiero usar vistas indexadas . Pero después de crear una vista indexada en mi entorno de prueba, la aplicación principal ya no podía insertarse en las tablas principales (devolvió un mensaje de error que ARITHABORT
se requiere ON
cuando se usan vistas indexadas).
Por lo tanto, parece que para usar vistas indexadas, necesito tener la aplicación principal SET ARITHABORT ON
cada vez que inserto / actualizo las tablas principales. Ejecuté esto en mi entorno de prueba:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
y parece funcionar bien Pero mi proveedor dice que dado que la aplicación tiene miles de consultas, podría existir el riesgo de que esta configuración rompa una de estas consultas, y si tenemos algún problema inesperado en la base de datos en el futuro, insistirán en que restaure la configuración predeterminada.
¿Hay consultas reales que se romperían SET ARITHABORT ON
? ¿Hay alguna situación en la que sería mejor mantenerlo OFF
?
TL; DR Para que funcionen mis nuevas vistas indexadas, necesito configurar ARITHABORT ON
toda la base de datos, pero mi proveedor advierte que será bajo mi propio riesgo. ¿Existe realmente un riesgo?