Mam witrynę asp.net z wieloma zapytaniami wstawiającymi, aktualizującymi i usuwającymi działającymi na mojej bazie danych.
Kilka dni temu tworzę indeks pełnotekstowy na dwóch kolumnach jednej z tabel. Po tym zdałem sobie sprawę, że kiedy witryna uruchamia zapytania dotyczące aktualizacji w tej tabeli, użycie pamięci i dysku w procesie SQL Server przeskakuje, a aktualizacje są wolniejsze. Zapytania przebiegały bez problemów z wydajnością przed utworzeniem indeksu pełnotekstowego.
Zdałem sobie również sprawę, że zapytania o aktualizację, które wcześniej były bardzo proste, są teraz skomplikowane, ponieważ plan wykonania zawiera teraz takie rzeczy, jak aktualizacja indeksu pełnotekstowego. Jest to część nowego planu wykonania, który stał się skomplikowany po włączeniu pełnego tekstu:
W ciągu kilku godzin, kiedy aktualizuję zawartość witryny, uruchomiłem 5000 zapytań aktualizacyjnych i myślę, że proces indeksowania pełnego tekstu jest wykonywany za każdym razem dla każdego wiersza.
Czy powinienem wyłączyć skanowanie pełnego tekstu na początku aktualizacji wierszy, a następnie włączyć je ponownie (jak w tym powiązanym pytaniu )?
Czy mogę nakazać programowi SQL Server zaprzestanie indeksowania pełnego tekstu na 5 minut, a następnie rozpocząć indeksowanie nowych danych?
Czy jest jakaś lepsza alternatywa? Korzystam z programu SQL Server 2012.
źródło