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?
Idealnie byłoby, gdybyś reorganizował / reindeksował TYLKO te indeksy, które wymagają uwagi, w przeciwnym razie marnujesz zasoby i potencjalnie powodujesz inne problemy.
Musisz ustalić poziom bazowy wydajności i za każdym razem, gdy wprowadzasz zmiany, porównaj zmianę wydajności z linią bazową, aby ustalić, czy warto ją wprowadzić.
źródło
Okej, pytanie dotyczy indeksów baz danych, które są konstrukcją pliku lub zestawu plików. Przeczytanie powyższych odpowiedzi doprowadziłoby osobę do przekonania, że mówimy o fragmentacji na poziomie dysku, a nie o indeksach w pliku. Te całkowicie odrębne tematy.
Podejściem krótkowzrocznym jest wydajność podczas pobierania danych, a baza danych OLTP ulegnie poprawie, jeśli indeksy zostaną zdefragmentowane lub odbudowane. Odpowiedź brzmi tak! Należy jednak pamiętać, że fragmentacja dysku jest również czynnikiem.
Najniższy całkowity „koszt”? Wykonaj konserwację bazy danych. Drugi najniższy koszt, odłącz bazę danych, przenieś ją gdzie indziej, ponownie sformatuj dyski i postępuj zgodnie z najlepszymi praktykami dotyczącymi wyrównania partycji dysku http://msdn.microsoft.com/en-us/library/dd758814.aspx . Last but not least, użyj zaawansowanego defragmentatora innej firmy, takiego jak Diskkeeper.
Należy pamiętać, że jest to zalecane TYLKO w przypadku pamięci typu NTFS (np. Windows OS) i nie stanowi to aprobaty dla żadnego produktu ani nie jestem powiązany z Condusiv Technologies lub jej spółkami zależnymi.
źródło