Я працюю з постачальником, домовляючись про те, що вони надають основну програму, і я можу створювати власні розширення до тих пір, поки я не змінюю основну програму. Він вбудований в ColdFusion, який підключається до бази даних SQL Server 2005.
Деякі зведені мною звіти залежать від представлень, використовуючи функції, обчислені з основних таблиць, і звіти стають дуже повільними, оскільки таблиці збільшуються. Щоб пришвидшити звіти, я хочу використовувати індексовані подання . Але після створення індексованого перегляду в моєму тестовому середовищі ядро додаток більше не міг вставляти в основні таблиці (він повертав повідомлення про помилку, яке ARITHABORT
потрібно використовувати ON
при використанні індексованих представлень).
Отже, здається, що для використання індексованих представлень мені потрібно мати основну програму SET ARITHABORT ON
щоразу, коли вставляти / оновлювати основні таблиці. Я запустив це у своєму тестовому середовищі:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
і, здається, працює добре. Але мій постачальник каже, оскільки у додатку є тисячі запитів, може виникнути ризик, що цей параметр може порушити один із цих запитів, і якщо у нас буде якась майбутня несподівана проблема з базою даних, вони наполягають на тому, щоб я відновив налаштування за замовчуванням.
Чи є фактичні запити, на які було б порушено SET ARITHABORT ON
? Чи є якась ситуація, де було б краще її зберегти OFF
?
TL; DR Для роботи моїх нових індексованих поглядів мені потрібно встановити ARITHABORT ON
всю базу даних, але мій постачальник попереджає, що це буде на власний ризик. Чи є насправді ризик?