Menu
Zamknij menu
Zaloguj się
Asseco Academy » Training » SQL w bazie danych Microsoft SQL Server – optymalizacja wydajności

Training CDP_MS_SQLPT_Z

SQL w bazie danych Microsoft SQL Server – optymalizacja wydajności

Accreditation

  • Training description
  • Scope

Training description

Szkolenie jest przeznaczone dla doświadczonych użytkowników bazy Microsoft SQL Server, którzy chcą świadomie analizować i optymalizować wydajność zapytań SQL w środowiskach produkcyjnych. Omawiane zagadnienia są aktualne dla powszechnie stosowanych wersji bazy danych Microsoft SQL Server, w tym najnowszej edycji SQL Server 2025.

 

Szkolenie omawia architekturę SQL Server z perspektywy optymalizatora: przepływy danych między magazynem danych dyskowych a pamięcią operacyjną (Buffer Pool), mechanizmy parsowania, kompilacji i przechowywania planów zapytań. Uczestnicy nauczą się odczytywać i interpretować plany wykonania, rozumieć rolę optymalizatora kosztowego (CBO) oraz wpływ statystyk, histogramów i indeksów na wybór planu. Szkolenie obejmuje zagadnienia dotyczące partycjonowania tabel i indeksów, widoków indeksowanych, obiektów tymczasowych oraz wskazówek optymalizacyjnych (hints). Część zajęć poświęcona jest monitorowaniu wydajności za pomocą Dynamic Management Views (DMV), Query Store i narzędzi systemowych. Szkolenie kończy się warsztatem diagnostycznym — analizą rzeczywistych problemów wydajnościowych. Program uwzględnia nowości wprowadzone w SQL Server 2025, w tym usprawnienia optymalizatora, Query Store i mechanizmów blokowania.

 

W trakcie szkolenia:

  • zrozumiesz architekturę SQL Server i rolę optymalizatora kosztowego (CBO) w wyborze planu zapytania
  • nauczysz się odczytywać i interpretować plany wykonania zapytań oraz identyfikować wąskie gardła
  • poznasz mechanizmy indeksowania i partycjonowania oraz ich wpływ na wydajność
  • nauczysz się zarządzać statystykami tabel i indeksów
  • dowiesz się, jak stosować wskazówki optymalizacyjne (hints) do wymuszania planów zapytań
  • nauczysz się monitorować wydajność bazy za pomocą DMV, Query Store i narzędzi systemowych

 

Adresaci szkolenia:

Podstawową grupę odbiorców stanowią programiści i analitycy danych z doświadczeniem w pracy z bazą Microsoft SQL Server, którzy chcą świadomie optymalizować zapytania SQL w środowiskach produkcyjnych. Szkolenie jest również skierowane do administratorów baz danych (DBA) zaangażowanych w strojenie wydajności systemu.

 

Wymagania wstępne:

  • Ukończenie szkolenia DP-080T00: Querying Data with Microsoft Transact-SQL lub równoważna praktyczna znajomość podstaw SQL w środowisku Microsoft SQL Server.
  • Ukończenie szkolenia CDP_MS_SQLA: SQL w bazie danych Microsoft SQL Server – zapytania analityczne lub równoważna wiedza z zakresu zaawansowanych zapytań SQL.
  • Ukończenie szkolenia z projektowania, wdrażania i podstaw administracji bazy Microsoft SQL Server lub równoważna wiedza.
  • Zalecane minimum dwuletnie doświadczenie praktyczne z bazami Microsoft SQL Server.

Scope

  • Wprowadzenie do strojenia SQL i architektura bazy
    • Omówienie celów szkolenia
    • Rozwiązania bazodanowe optymalizowane pod kątem operacji zapisu
    • Rozwiązania bazodanowe optymalizowane pod kątem analizy danych
    • Architektura pamięci SQL Server
      • Buforowanie stron danych w pamięci operacyjnej (Buffer Pool)
      • Przechowywanie i ponowne wykorzystanie planów zapytań (Plan Cache)
      • Tabele rezydujące w pamięci operacyjnej — Memory-Optimized Tables (opcjonalnie)
      • Indeksy kolumnowe COLUMNSTORE
      • Procedury składowane i ich kompilacja
    • Fizyczne struktury danych
      • Filegroups i ich znaczenie dla wydajności
        • Wierszowe grupy plików
          • Podstawowy plik danych (mdf) w FileGroup PRIMARY
          • Dodatkowe pliki danych (ndf)
        • Przechowywanie danych binarnych poza bazą (FILESTREAM)
        • Grupy plików dla tabel in-memory (MEMORY_OPTIMIZED)
      • Dziennik transakcji (.ldf)
      • Strony (8 KB) i extenty (8 stron = 64 KB)
      • Struktura wiersza danych
    • Rola optymalizatora i statystyk
      • Zasada działania i szacowanie kosztów przez optymalizator kosztowy (CBO)
      • Wpływ histogramów i gęstości na wybór planu
      • Automatyczne tworzenie i aktualizacja statystyk
    • Metody dostępu do danych
      • Table Scan / Clustered Index Scan
      • Clustered Index Seek
      • Nonclustered Index Seek z indeksem pokrywającym
      • Nonclustered Index Seek + Key Lookup (Bookmark Lookup)
      • Nonclustered Index Scan z indeksem pokrywającym
      • RID Lookup dla tabel bez indeksu klastrowanego (heap)
      • Bitmap operators dla operacji równoległych
  • Wykonywanie zapytań i plany wykonania w SQL Server
    • Etapy przetwarzania zapytania: parsowanie, kompilacja, optymalizacja, wykonanie
    • Rola optymalizatora w wyborze planu
    • Wyświetlanie planów wykonania
      • Szacowany plan wykonania (Estimated Execution Plan)
      • Rzeczywisty plan wykonania (Actual Execution Plan)
      • Eksport planu w formacie XML za pomocą SET STATISTICS XML ON
    • Interpretacja planu wykonania
      • Operatory fizyczne i logiczne
      • Koszt operatora jako procent kosztu całego zapytania
      • Szacowana a rzeczywista liczba wierszy (Cardinality Estimation)
      • Odczyty logiczne i fizyczne za pomocą SET STATISTICS IO ON
    • Przegląd nowości w SQL Server 2025
      • Ulepszone plany wykonania z nowymi operatorami
      • Poprawiona estymacja kardynalności
  • Indeksy w SQL Server
    • Podstawowe typy indeksów
      • Indeksy klastrowane (clustered) określające porządek fizyczny wierszy w tabeli
      • Indeksy nieklastrowane (nonclustered) zorganizowane jako struktura B-Tree z odwołaniami do wierszy
    • Zaawansowane typy indeksów
      • Indeksy zoptymalizowane pod kątem zapytań analitycznych (columnstore)
      • Indeksy częściowe z klauzulą WHERE (filtered)
      • Indeksy obejmujące z klauzulą INCLUDE (covering indexes)
      • Indeksy pełnotekstowe (full-text)
      • Indeksy XML
      • Indeksy na tabelach tymczasowych
      • Rekomendacje brakujących indeksów (Missing Index Recommendations)
      • Nowość w SQL Server 2025: ulepszenia indeksów columnstore
  • Partycjonowanie w SQL Server
    • Koncepcja partycjonowania tabel i indeksów
    • Komponenty partycjonowania
      • Definiowanie zakresów partycji za pomocą funkcji partycjonowania (PARTITION FUNCTION)
      • Mapowanie partycji na filegroups za pomocą schematu partycjonowania (PARTITION SCHEME)
    • Typy partycjonowania
      • Typ kolumny partycjonującej
      • Semantyka granic partycji: RANGE LEFT i RANGE RIGHT
    • Indeksy a partycjonowanie
      • Indeksy wyrównane do schematu partycjonowania tabeli (aligned)
      • Indeksy z niezależnym podziałem na partycje (non-aligned)
    • Eliminacja partycji (Partition Elimination) jako mechanizm poprawy wydajności
    • Zarządzanie partycjami: operacje SPLIT, MERGE, SWITCH
    • Widoki partycjonowane (partitioned views)
  • Obiekty tymczasowe
    • Tabele tymczasowe lokalne (#temp) i globalne (##temp)
    • Zmienne tabelaryczne (DECLARE @table TABLE)
    • Parametry tablicowe (Table-Valued Parameters, TVP)
    • Wyrażenia CTE (Common Table Expressions) jako technika optymalizacji zapytań
  • Widoki indeksowane
    • Wymagania i ograniczenia dotyczące widoków indeksowanych
    • Tworzenie unikalnego indeksu klastrowanego na widoku
    • Różnica między widokiem indeksowanym a widokiem zwykłym
    • Automatyczne wykorzystanie widoku indeksowanego przez optymalizator
    • Koszt utrzymania widoku indeksowanego przy modyfikacjach danych
  • Monitorowanie i diagnostyka wydajności
    • Dynamic Management Views (DMV) i funkcje diagnostyczne
      • Przegląd aktualnie wykonywanych zapytań (sys.dm_exec_requests)
      • Przegląd aktywnych sesji (sys.dm_exec_sessions)
      • Statystyki zapytań zgromadzonych w Plan Cache (sys.dm_exec_query_stats)
      • Statystyki użycia indeksów (sys.dm_db_index_usage_stats)
      • Rekomendacje brakujących indeksów (sys.dm_db_missing_index_details)
      • Statystyki oczekiwań wątków (sys.dm_os_wait_stats)
    • Query Store — przechowywanie historii zapytań i planów wykonania
      • Włączanie i konfiguracja Query Store
      • Analiza regresji planów wykonania
    • Narzędzia diagnostyczne
      • Przegląd aktywnych sesji i blokad za pomocą sp_who2
      • Activity Monitor w SSMS
      • Podgląd planu w trakcie wykonania (Live Query Statistics)
      • SQL Server Profiler / Extended Events
  • Wskazówki optymalizacyjne (hints) w SQL Server
    • Wskazówki dotyczące metody złączenia
      • LOOP JOIN, HASH JOIN, MERGE JOIN
    • Wskazówki dostępu do tabel
      • Wymuszenie użycia konkretnego indeksu za pomocą INDEX
      • Wymuszenie metody dostępu za pomocą FORCESEEK lub FORCESCAN
    • Wskazówki dotyczące zapytań
      • Wymuszenie rekompilacji planu za pomocą OPTION (RECOMPILE)
      • Optymalizacja dla nieznanej wartości parametru za pomocą OPTION (OPTIMIZE FOR UNKNOWN)
      • Ograniczenie stopnia równoległości za pomocą OPTION (MAXDOP N)
    • Wskazówki dotyczące poziomu izolacji
      • WITH (NOLOCK), WITH (READPAST), WITH (UPDLOCK)
  • Zarządzanie statystykami
    • Ręczna aktualizacja statystyk
      • Aktualizacja pełna lub próbkowana za pomocą UPDATE STATISTICS
      • Aktualizacja wszystkich statystyk w bazie za pomocą sp_updatestats
    • Automatyczna aktualizacja statystyk (AUTO_UPDATE_STATISTICS)
    • Przeglądanie statystyk
      • Szczegóły histogramu i gęstości za pomocą DBCC SHOW_STATISTICS
      • Widoki systemowe statystyk: sys.stats, sys.stats_columns
    • Statystyki wielokolumnowe tworzone automatycznie dla indeksów złożonych
    • Statystyki inkrementalne dla dużych tabel partycjonowanych
  • Monitorowanie pamięci i kluczowych parametrów
    • Parametry konfiguracyjne serwera
      • Ograniczenie pamięci przydzielonej SQL Server (max server memory)
      • min server memory
      • Maksymalny stopień równoległości (MAXDOP)
      • Próg kosztowy dla planów równoległych (cost threshold for parallelism)
    • Monitorowanie presji pamięci
      • Zużycie pamięci według komponentów (sys.dm_os_memory_clerks)
      • Zawartość Buffer Pool (sys.dm_os_buffer_descriptors)
      • Liczniki wydajności systemu (sys.dm_os_performance_counters)
    • Monitorowanie i czyszczenie Plan Cache
      • Czyszczenie Plan Cache za pomocą DBCC FREEPROCCACHE
      • Przegląd planów w cache (sys.dm_exec_cached_plans)
  • Monitorowanie blokad i współbieżności
    • Poziomy izolacji transakcji: READ COMMITTED, SNAPSHOT, SERIALIZABLE
    • Monitorowanie aktywnych blokad
      • Przegląd blokad w sesji za pomocą sp_lock
      • Szczegółowe informacje o blokadach (sys.dm_tran_locks)
      • Przegląd wątków oczekujących na zwolnienie zasobu (sys.dm_os_waiting_tasks)
    • Identyfikacja i analiza deadlocków
      • Logowanie informacji o deadlockach za pomocą flagi śledzenia 1222
      • Przechwytywanie zdarzeń deadlock za pomocą Extended Events
    • Optymalizacja współbieżności
      • Eliminacja blokad odczytu za pomocą RCSI (Read Committed Snapshot Isolation)
      • Optymistyczne poziomy izolacji
  • Metryki wydajności i zdrowia systemu
    • Performance Monitor (PerfMon) — liczniki wydajności SQL Server
    • Kluczowe obiekty liczników: Buffer Manager, SQL Statistics, Locks
    • Widoki DMV do monitorowania metryk
      • Bieżące liczniki wydajności (sys.dm_os_performance_counters)
      • Informacje o zasobach serwera (sys.dm_os_sys_info)
    • Konfiguracja alertów i powiadomień za pomocą SQL Server Agent
  • Nowości optymalizacyjne w SQL Server 2025
    • Optional Parameter Plan Optimization (OPPO) — optymalizacja planów dla parametrów opcjonalnych
    • Parameter Sensitive Plan Optimization (PSPO) — generowanie wielu planów dla różnych wartości parametrów
    • Optimized Locking — usprawniony mechanizm blokowania dla poprawy współbieżności
    • Optimized Halloween Protection — optymalizacja operacji aktualizacji danych
    • Wspomaganie optymalizacji przez narzędzia AI
    • Ulepszenia Query Store i mechanizmu Automatic Plan Correction
  • Rozwiązywanie problemów z wydajnością — warsztat

Training schedule

Remote

… if you value the opportunity to learn with a trainer and other participants, from anywhere without having to commute.

Stationary

… if you want to learn while sitting in the same room with the trainer and other participants.

Online

… if you want to learn from materials available via the interenet anywhere at any time

Filters:

Training: CDP_MS_SQLPT_Z

SQL w bazie danych Microsoft SQL Server – optymalizacja wydajności

Date
Form
Language
Additional info
Price

Currently, there is no trainings in the selected form.

Filters:

Training: CDP_MS_SQLPT_Z

SQL w bazie danych Microsoft SQL Server – optymalizacja wydajności

Date
Location
Language
Additional info
Price

Currently, there is no trainings in the selected form.

Filters:

Training: CDP_MS_SQLPT_Z

SQL w bazie danych Microsoft SQL Server – optymalizacja wydajności

Dostęp do szkolenia
Form
Language
Additional info
Price

Currently, there is no trainings in the selected form.

Szukasz szkolenia w innym terminie?

Co nowego?

  • Newest
  • Uncategorized

Chcesz z nami porozmawiać?

Zadzwoń do nas: tel. 801 30 30 30