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

Pomóż ulepszyć statystyki programu SQL Server!

Dawno temu publikowałem podsumowania na Connect – małe posty, które podkreślały kilka raportów o błędach lub sugestii na Connect, które moim zdaniem zasługiwały na więcej uwagi. Teraz powiem tak:nie jestem wielkim fanem systemu, w którym osoba z największą liczbą znajomych chętnych do głosowania stawia na swoim, ponieważ zespół SQL Server powinien być w stanie zignorować lub odłożyć hałas i skupić się na najważniejsze i najistotniejsze błędy lub sugestie. Ale w Redmond tak nie postępują . Więc dzisiaj mam prośbę:pomóż mi, głosując i komentując te trzy elementy Connect, z których wszystkie mają na celu poprawę działania statystyk SQL Server.

(Pamiętaj, że komentarze mają znacznie większą wagę niż liczba głosów, więc podaj uzasadnienie biznesowe, jeśli masz takie, które można udostępnić).

Wskazówka MAXDOP dla UPDATE STATISTICS

SQL Server 2016 dodał wskazówkę dotyczącą MAXDOP dla poleceń DBCC CHECK, więc dlaczego nie w przypadku aktualizacji statystyk? W przypadku tabel partycjonowanych może to mieć duży wpływ na resztę obciążenia. Powinniśmy również być w stanie zastąpić zdefiniowany przez system MAXDOP w celu automatycznej aktualizacji statystyk, ale na razie byłbym zadowolony z większej kontroli nad ręcznym zarządzaniem statystykami. Żądanie jest rejestrowane w następującym elemencie Connect:

  • Połącz #628971:Dodaj parametr MAXDOP do aktualizacji statystyk

Pozwól optymalizatorowi zapytań zobaczyć statystyki na poziomie partycji

Erin Stellato pisała tutaj na blogu o korzyściach płynących z przyrostowych statystyk, ale naprawdę trafiła w sedno problemów w tym poście:Statystyki przyrostowe NIE są używane przez Optymalizator zapytań. Przeczytaj to, a następnie zagłosuj i skomentuj element, który właśnie utworzyłem (nie mogę uwierzyć, że nigdy nie zauważyłem, że DCR już w tym celu nie istniał):

  • Połącz #2010834:Optymalizator powinien faktycznie *używać* statystyk na partycję

Automatyczne statystyki powinny uwzględniać liczbę wierszy w filtrowanym indeksie/statystyce

Obecnie poleganie na automatycznych aktualizacjach przefiltrowanych indeksów i statystyk jest jak Czekanie na Godota – algorytm używa liczby wierszy w tabeli przy określaniu progu odejścia, a nie liczby wierszy w indeksie. Oznacza to, że większość filtrowanych indeksów – i rzeczywiście najbardziej przydatna indeksy filtrowane – nigdy nie będą aktualizowane automatycznie. (Mówię o tym tutaj, a Kimberly Tripp mówi o tym tutaj i tutaj. Jestem pewien, że inni też o tym pisali.) Myślę, że nadszedł czas, aby to zmienić – jeśli się zgodzisz, zagłosuj i skomentuj artykuł Joe Sacka (tytuł wskazuje filtrowane statystyki, ale tak naprawdę odnosi się do obu):

  • Połącz #509638:sugerowanie zmian w filtrowanych aktualizacjach statystyk

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odniesienie do aliasu kolumny w klauzuli WHERE

  2. Policz liczbę rekordów zwróconych przez grupę przez

  3. Błąd systemu operacyjnego SQL Server 5:5 (odmowa dostępu).

  4. Konwertuj nazwę miesiąca na numer miesiąca w programie SQL Server (T-SQL)

  5. Instalacja i konfiguracja przesyłania dzienników serwera SQL i odzyskiwania po awarii -2