Maksymalizowanie wydajności w celu zwiększenia szybkości i wydajności
Program SQL Server 2025 zawiera ulepszenia przetwarzania zapytań i optymalizacji wydajności. W tej lekcji omówiono funkcje przetwarzania zapytań, zarządzanie zasobami i możliwości konserwacji.
Optymalizowanie przetwarzania zapytań przy użyciu protokołu IQP
Program SQL Server 2025 przenosi inteligentne przetwarzanie zapytań (IQP) na następny poziom, łącząc tradycyjną optymalizację planu ze szczegółowymi informacjami opartymi na sztucznej inteligencji i obsługą nowoczesnych typów danych. Te ulepszenia umożliwiają aparatowi dynamiczne dostosowywanie się do wzorców obciążeń, optymalizowanie zapytań obejmujących pliki JSON i RegEx, a nawet precyzyjne dostosowywanie strategii wykonywania przy użyciu uczenia maszynowego. Dla deweloperów i administratorów baz danych oznacza to szybsze zapytania, lepszą współbieżność oraz zwiększoną wydajność analizy w czasie rzeczywistym i dane o luźnej strukturze — wszystko to bez potrzeby ręcznej konfiguracji.
Procesor zapytań optymalizuje plany wykonywania na podstawie wzorców obciążeń i zasobów systemowych. Najważniejsze ulepszenia obejmują:
| Funkcja | Description | Korzyść |
|---|---|---|
| Zoptymalizowane blokowanie | Ulepszone mechanizmy kontroli współbieżności | Ulepszony dostęp wielu użytkowników |
| Ochrona halloweenowa | Usprawnione operacje aktualizacji/usuwania | Zmniejszenie obciążenia związanego z modyfikacjami |
| Planowanie ponownego użycia | Lepsza implementacja sp_executesql | Bardziej spójna dynamiczna wydajność sql |
| Wykonywanie adaptacyjne | Korekty planu czasu wykonania | Optymalna wydajność dla różnych danych |
| Opcjonalna optymalizacja planu parametrów (OPPO) | Wybiera optymalny plan w czasie wykonywania na podstawie parametrów NULL a NIE NULL | Poprawia wydajność zapytań przy użyciu parametrów opcjonalnych |
| Informacja zwrotna dotycząca szacowania kardynalności (CE) dla wyrażeń | Uczy się z poprzednich wykonań w celu uszczegółowienia oszacowań kardynalności dla powtarzających się wyrażeń. | Dokładniejsze oszacowania, lepszy wybór planu |
OPTIMIZED_SP_EXECUTESQL |
Zmniejsza liczbę burz kompilacji, traktując sp_executesql jak procedury składowane na potrzeby kompilacji | Zwiększa stabilność i wydajność w przypadku dużych obciążeń zapytań |
Monitorowanie wydajności za pomocą magazynu zapytań
Magazyn zapytań pomaga śledzić wydajność zapytań w czasie i wykrywać problemy z regresją.
Możliwości magazynu zapytań w programie SQL Server 2025 obejmują:
Monitorowanie wydajności replik pomocniczych
- Śledzenie wydajności zapytań na czytelnych replikach wtórnych
- Obsługa zawsze włączonych grup dostępności
- Spójne monitorowanie w środowiskach rozproszonych
Automatyczna optymalizacja zapytań
- Wykrywanie i poprawianie regresji zapytań
- Rekomendacje dotyczące indeksowania oparte na wzorcach zapytań
- Planowanie sugestii dotyczących ulepszeń
Szczegółowe informacje o rozproszonym obciążeniu
- Monitorowanie zapytań między bazami danych
- Śledzenie wydajności na różnych replikach
- Analiza użycia zasobów
Wskazówka
Włącz magazyn zapytań w najbardziej aktywnych bazach danych, aby utworzyć punkt odniesienia wydajności i zidentyfikować możliwości optymalizacji.
Implementowanie zaawansowanych funkcji zapytań
Program SQL Server 2025 sprawia, że zaawansowane funkcje zapytań są proste i zaawansowane. Te ulepszenia obejmują optymalizację planu wrażliwego na parametry, opinie zwrotne dotyczące szacowania kardynalności, adaptacyjną równoległość oraz ulepszenia trybu wsadowego na potrzeby analizy. Deweloperzy uzyskują również bardziej precyzyjną kontrolę przy użyciu opcjonalnych planów parametrów i nowych wskazówek dotyczących zapytań, zmniejszając interwencję ręczną przy jednoczesnym zapewnieniu wydajnego uruchamiania zapytań w różnych obciążeniach.
Użyj tych funkcji, aby rozwiązać określone scenariusze wydajności w aplikacjach bazy danych.
Program SQL Server 2025 zawiera następujące ulepszenia przetwarzania zapytań:
- Optymalizacja planu wrażliwego na parametry (PSP): Automatycznie tworzy i utrzymuje wiele planów wykonywania na podstawie wzorców wartości parametrów, zwiększając wydajność zapytań z różnymi wartościami parametrów.
- Stopień równoległości (DOP) włączony domyślnie: Automatycznie dostosowuje ustawienia wykonywania równoległego na podstawie historycznej wydajności zapytań, optymalizując wykorzystanie zasobów.
- Optymalizacje trybu wsadowego na potrzeby analizy: Poprawiają wydajność zapytań analitycznych dzięki ulepszonym operacjom wektoryzowanym i lepszemu wykorzystaniu pamięci
- Opcjonalna optymalizacja planów parametrów: Generuje wydajne plany wykonywania zapytań z opcjonalnymi parametrami, co zmniejsza potrzebę dynamicznego kodu SQL
- ABORT_QUERY_EXECUTION wskazówki dotyczące zapytania: Zapewnia szczegółową kontrolę nad wykonywaniem zapytań, umożliwiając celowe zakończenie określonych operacji
Zarządzanie zasobami i konserwacją
Nowe możliwości, które mają na celu zwiększenie niezawodności, szybkości i łatwości konserwacji, jednocześnie dając administratorom baz danych większą kontrolę i redukując pracę ręczną. Dzięki tym funkcjom administratorzy baz danych mają większą kontrolę nad zasobami systemowymi, automatyzują rutynowe zadania i minimalizują przestoje podczas nieoczekiwanych zdarzeń.
Razem te funkcje zapewniają większą wydajność i odporność dla nowoczesnych środowisk danych.
- Zarządzanie zasobami przestrzeni tempdb: Kontrolowanie i ograniczanie użycia przestrzeni tempdb dla grupy obciążeń, zapobiegając przypadkom, gdzie zapytania zużywają nadmierną ilość magazynu tymczasowego.
- Przyspieszone odzyskiwanie bazy danych (ADR) w bazie danych tempdb: Szybkie odzyskiwanie bazy danych tempdb po nieoczekiwanych zamknięciach, zmniejszenie przestojów bazy danych i zwiększenie dostępności systemu
- Obsługa bazy danych tempdb w systemie Linux: Używanie tymczasowych systemów plików opartych na pamięci w systemie Linux w celu zwiększenia wydajności bazy danych tempdb i mniejszego opóźnienia we/wy
- Ulepszenia konserwacji indeksów kolumnowych: Ulepszone operacje konserwacyjne dla indeksów kolumnowych, w tym lepsza kompresja i wydajniejsza eliminacja segmentów
- Zautomatyzowane czyszczenie śledzenia zmian: Automatyczna konserwacja tabel śledzenia zmian, zmniejszenie obciążenia ręcznego i zapewnienie optymalnej wydajności
- Usuń In-Memory OLTP z bazy danych: Uproszczony proces usuwania tabel zoptymalizowanych pod kątem pamięci i natywnie skompilowanych modułów z baz danych, gdy nie są już potrzebne