Podstawową zasadą jest rozdzielanie plików na różne woluminy, aby uniknąć rywalizacji, jednak wzrost wydajności jest bardzo różny w zależności od podsystemu we / wy i obciążenia. Na przykład wiele plików na jednym fizycznym wrzecionie będzie zużywało się pod względem wydajności, ale ten sam układ z woluminem na SAN LUN z kilkoma setkami dysków z macierzy RAID 10 może być w porządku. Liczniki długości kolejek dyskowych są Twoim przyjacielem jako najprostszy sposób na stwierdzenie, czy masz wąskie gardło we / wy.
Patrzysz na wzorce we / wy w bazach danych - tylko do odczytu, głównie do odczytu, do odczytu i zapisu, głównie do zapisu, tylko do zapisu - i opierając się na tym. Musisz także wybrać odpowiedni poziom RAID i upewnić się, że przesunięcia partycji dysku, rozmiar paska RAID i rozmiar jednostki alokacji NTFS są ustawione poprawnie. Niektórzy ludzie lubią dzielić indeksy nieklastrowane na osobną grupę plików, ale wzrost wydajności tutaj różni się, tak jak wyjaśniłem powyżej.
Oprócz wydajności powinieneś wziąć pod uwagę możliwości zarządzania i odzyskiwania. Posiadanie jednego, monolitycznego pliku danych dla bazy danych 100 GB oznacza, że jednostką przywracania jest ten plik. Podział na 4 grupy plików 25 GB oznacza, że możesz użyć częściowej dostępności bazy danych i częściowego przywracania, aby przywrócić tylko jedną grupę plików w przypadku jej uszkodzenia. Dzieląc tabele i indeksy na wiele grup plików, można również ograniczyć, które części bazy danych podlegają operacjom konserwacyjnym (np. Usuwanie fragmentacji indeksów).
Tempdb to wyjątkowy przypadek i skieruję cię do mojego bloga, który wyjaśnia wszystko o tym, dlaczego i jak podzielić tempdb - jest wiele nieporozumień.
Nie udzielając tutaj rekomendacji „szerokiej uogólnienia”, wskażę ci kilka oficjalnych artykułów i postów na blogu, które możesz przeczytać:
Mam nadzieję, że to ci pomoże!