Tôi đang làm việc với một nhà cung cấp với sự sắp xếp rằng họ cung cấp ứng dụng cốt lõi và tôi có thể xây dựng các tiện ích mở rộng của riêng mình miễn là tôi không sửa đổi ứng dụng cốt lõi. Nó được tích hợp trong ColdFusion kết nối với cơ sở dữ liệu SQL Server 2005.
Một số báo cáo tôi đã tạo phụ thuộc vào chế độ xem sử dụng các hàm được tính toán từ các bảng cốt lõi và các báo cáo đang trở nên rất chậm khi các bảng trở nên lớn hơn. Để tăng tốc các báo cáo, tôi muốn sử dụng các chế độ xem được lập chỉ mục . Nhưng sau khi tạo chế độ xem được lập chỉ mục trong môi trường thử nghiệm của tôi, ứng dụng lõi không còn có thể chèn vào các bảng lõi (nó trả về một thông báo lỗi ARITHABORT
bắt buộc phải có ON
khi sử dụng chế độ xem được lập chỉ mục).
Vì vậy, có vẻ như để sử dụng các khung nhìn được lập chỉ mục, tôi cần phải có ứng dụng lõi SET ARITHABORT ON
bất cứ khi nào chèn / cập nhật các bảng lõi. Tôi đã chạy nó trong môi trường thử nghiệm của tôi:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
và nó có vẻ hoạt động tốt. Nhưng nhà cung cấp của tôi cho biết vì ứng dụng có hàng ngàn truy vấn, nên có thể có nguy cơ cài đặt này có thể phá vỡ một trong những truy vấn này và nếu chúng tôi gặp sự cố cơ sở dữ liệu bất ngờ trong tương lai, họ sẽ nhấn mạnh tôi khôi phục cài đặt mặc định.
Có những truy vấn thực tế sẽ bị phá vỡ bởi SET ARITHABORT ON
? Có bất kỳ tình huống nào sẽ tốt hơn để giữ nó OFF
?
TL; DR Để các chế độ xem được lập chỉ mục mới của tôi hoạt động, tôi cần đặt ARITHABORT ON
cho toàn bộ cơ sở dữ liệu, nhưng nhà cung cấp của tôi cảnh báo rằng nó sẽ có nguy cơ của riêng tôi. Có thực sự có rủi ro?