Nasz serwer SQL działa w sieci SAN. Zawiera dziesiątki baz danych OLTP, niektóre z kilkoma tabelami zawierającymi ponad 1 milion rekordów.
Co tydzień uruchamiamy skrypty konserwacji indeksu Oli Hallengren i za każdym razem działają one przez kilka godzin. W oparciu o próg fragmentacji skrypt reorganizuje lub ponownie indeksuje indeks. Zauważyliśmy, że podczas ponownego indeksowania pliki dziennika stają się ogromne, co prowadzi do nadmiernego zużycia przepustowości podczas przesyłania dziennika.
Potem pojawia się artykuł Brenta Ozara, w którym mówi on, aby przestał się martwić indeksami SQL :
Twoje dyski twarde są współużytkowane z innymi serwerami, które jednocześnie wysyłają żądania dysków, więc dyski zawsze będą przeskakiwać wszędzie, aby uzyskać dane. Defragmentacja indeksów jest po prostu bezsensownym zajęciem.
Googlowanie tego pytania prowadzi do różnych opinii, najczęściej popartych argumentami, które wydają się zbyt krótkie lub słabe. Naszym wstępnym planem jest dostosowanie progu fragmentacji w naszym skrypcie konserwacji, aby reorganizował się znacznie częściej niż reindeksował.
Jaki jest ostateczny werdykt? Czy warto defragmentować indeksy SQL w sieci SAN, biorąc pod uwagę obciążenia związane z wykonywaniem cotygodniowych zadań konserwacyjnych?