Współpracuję z dostawcą, który zapewnia, że zapewniają podstawową aplikację, i mogę tworzyć własne rozszerzenia, o ile nie modyfikuję podstawowej aplikacji. Jest wbudowany w ColdFusion łączący się z bazą danych SQL Server 2005.
Niektóre raporty, które zbudowałem, zależą od widoków korzystających z funkcji wyliczonych z tabel podstawowych, a raporty stają się bardzo powolne w miarę powiększania się tabel. Aby przyspieszyć raporty, chcę użyć widoków indeksowanych . Ale po utworzeniu widoku indeksowanego w moim środowisku testowym aplikacja podstawowa nie mogła już wstawiać do tabel podstawowych (zwróciła komunikat o błędzie, który ARITHABORT
musi być wyświetlany ON
podczas korzystania z widoków indeksowanych).
Wygląda więc na to, że aby korzystać z widoków indeksowanych, muszę mieć podstawową aplikację przy SET ARITHABORT ON
każdym wstawianiu / aktualizowaniu podstawowych tabel. Uruchomiłem to w moim środowisku testowym:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
i wydaje się, że działa dobrze. Ale mój sprzedawca mówi, ponieważ ponieważ aplikacja ma tysiące zapytań, może istnieć ryzyko, że to ustawienie może przerwać jedno z tych zapytań, a jeśli pojawią się jakieś nieoczekiwane problemy z bazą danych, nalegają, aby przywrócić ustawienie domyślne.
Czy istnieją jakieś zapytania, które zostałyby złamane SET ARITHABORT ON
? Czy jest jakaś sytuacja, w której lepiej byłoby ją zatrzymać OFF
?
TL; DR Aby moje nowe widoki indeksowane działały, muszę ustawić ARITHABORT ON
dla całej bazy danych, ale mój sprzedawca ostrzega, że będzie to na własne ryzyko. Czy rzeczywiście istnieje ryzyko?