Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zwiększyć wydajność bazy danych?

Zoptymalizuj logiczny projekt

Poziom logiczny dotyczy struktury zapytania i samych tabel. Najpierw spróbuj to zmaksymalizować. Celem jest dostęp do jak najmniejszej ilości danych na poziomie logicznym.

  • Miej najbardziej wydajne zapytania SQL
  • Zaprojektuj schemat logiczny, który obsługuje potrzeby aplikacji (np. typ kolumn itp.)
  • Zaprojektuj kompromis, aby obsługiwać niektóre przypadki użycia lepiej niż inne
  • Ograniczenia relacyjne
  • Normalizacja

Zoptymalizuj fizyczny projekt

Poziom fizyczny zajmuje się rozważaniami nielogicznymi, takimi jak typ indeksów, parametry tabel itp. Celem jest optymalizacja IO, która zawsze jest wąskim gardłem. Dostosuj każdy stół do swoich potrzeb. Mała tabelka może być załadowana na stałe do pamięci podręcznej DBMS, tabela z niską szybkością zapisu może mieć inne ustawienia niż tablica z dużą szybkością aktualizacji, aby zajmować mniej miejsca na dysku itp. W zależności od zapytań można zastosować inny indeks itp. denormalizować dane w sposób przezroczysty z widokami zmaterializowanymi itp.

  • Parametry tabel (rozmiar alokacji itp.)
  • Indeksy (łączone, typy itp.)
  • Parametry systemowe (rozmiar pamięci podręcznej itp.)
  • Partycjonowanie
  • Denormalizacja

Spróbuj najpierw poprawić projekt logiczny, a następnie projekt fizyczny. (Granica między nimi jest jednak niewyraźna, więc możemy spierać się o moją kategoryzację).

Zoptymalizuj konserwację

Baza danych musi działać poprawnie, aby zachować maksymalną wydajność. Obejmuje to kilka czynności konserwacyjnych, które mogą mieć wpływ na wydajność, np.

  • Aktualizuj statystyki
  • Okresowo zmieniaj kolejność tabel krytycznych
  • Konserwacja dysku
  • Wszystkie rzeczy systemowe, aby mieć serwer, który się kołysze


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa OBJECTPROPERTY() w SQL Server

  2. Skrypt tsql do znajdowania tabel, które nie są używane przez procedury składowane, widoki, funkcje itp.?

  3. Wskazówki, jak zmniejszyć złożoność SQL Server

  4. SQL Server CTE i przykład rekurencji

  5. In-Memory OLTP:Co nowego w SQL Server 2016