SQL Performance & Query Tuning

Hızlı ve tutarlı SQL sorguları
Resim: SQL Performance & Query Tuning Eğitimi

SQL Performance & Query Tuning Eğitimi, yavaş sorguların gerçek nedenlerini hızlıca bulup kalıcı olarak iyileştirebilmeniz için tasarlanmıştır. Execution plan okuma, indeks stratejileri, istatistikler ve join yaklaşımları gibi konuları uygulamalı ele alarak, sisteminizde ölçülebilir hız kazanımları hedeflersiniz.

Eğitim boyunca performans sorunlarını “tek seferlik düzeltme” yerine yöntemli bir süreç olarak kurgularız. Böylece ekibiniz; plan analizi, doğru ölçüm alma, değişikliği doğrulama ve geriye dönük etki kontrolü adımlarını standartlaştırır, üretimde risk almadan optimizasyon yapabilir.

Katılımcı Profili

Bu eğitim, SQL performansını sistematik şekilde iyileştirmek isteyen aşağıdaki profillere uygundur.

  • Backend geliştiriciler: Yavaş sorguları hızlıca iyileştirir
  • Veritabanı yöneticileri: Plan ve indeks stratejileri netleşir
  • Veri mühendisleri: ETL sorguları daha verimli tasarlanır
  • Analistler: Rapor sorgularında doğru teknikler kullanır
  • DevOps mühendisleri: Üretimde ölçüm ve izleme güçlenir

Ön Gereklilikler

Bu eğitime katılmadan önce aşağıdaki temel bilgi ve deneyimlerin olması önerilir.

  • Temel SQL bilgisi (SELECT, WHERE, JOIN, GROUP BY)
  • En az bir veritabanı ile pratik deneyim
  • Basit indeks ve constraint kavramlarına aşinalık
  • Sorgu çıktısı ve hata mesajlarını yorumlayabilme
  • Temel uygulama mantığı ve veri modeli okuryazarlığı

Süresi ve Tarihi

Süre: 3 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.

Kazanımlar

Eğitim sonunda ekibiniz, performans problemlerini ölçerek teşhis etmeyi ve güvenli şekilde iyileştirmeyi öğrenir.

  • Execution plan okuyarak darboğazı doğru noktada tespit etme
  • İndeks seçimi, kardinalite ve istatistik ilişkisini yorumlama
  • JOIN ve agregasyon maliyetlerini düşüren sorgu tasarımı
  • Parametre kullanımı ve plan cache davranışını yönetme
  • Yavaş sorgu RCA yaklaşımı ile kalıcı aksiyonlar üretme
  • Üretimde risk azaltan test ve doğrulama adımlarını uygulama
  • İzleme metrikleri ile performans hedeflerini sayısallaştırma

SQL Performance & Query Tuning Eğitimi Konuları

1. SQL Performance & Query Tuning Eğitimi - Performans bakış açısı

  • Performans hedeflerini net metriklerle tanımlama
  • Sorgu, indeks ve I/O dengesini anlamak için çerçeve kurma
  • Ölçmeden optimizasyon yapılmamasının pratik gerekçeleri ve riskleri
  • Gecikme, throughput ve kaynak kullanımını birlikte değerlendirme
  • Ortam farklarının sonuçları nasıl etkilediğini örneklerle yorumlama

2. Ölçüm ve gözlemleme temelleri

  • Yavaş sorguyu doğru şekilde tanımlama ve etiketleme
  • Query duration ve CPU time farkını ölçmek için yaklaşım
  • Wait ve lock metrikleriyle darboğaz türünü ayırt etmek ve doğrulamak
  • İyileştirme öncesi ve sonrası kıyas için veri toplama
  • İzleme panolarını aksiyon aldıracak biçimde kurgulama

3. Query optimizer mantığı ve maliyet modeli

  • Optimizer’ın karar verdiği temel seçimleri tanıma
  • Kardinalite tahmini ile plan kalitesini ilişkilendirme
  • Maliyet modelinin nasıl yanılabileceğini örneklerle inceleme ve düzeltme
  • Plan stabilitesi için değişkenleri kontrol altında tutma
  • İyi plan ile iyi performans arasındaki farkı doğru yorumlama

4. Execution plan okuma ve operatör analizi

  • Plan ağaç yapısını hızlı okuyacak yöntem geliştirme
  • Scan ve seek farkını doğru senaryoda seçmek
  • Join operatörlerini maliyet açısından karşılaştırma ve doğrulama
  • Sort ve spool gibi pahalı operatörleri erken tespit etme
  • Actual ve estimated değerleriyle sapma analizine başlama

5. İstatistikler, kardinalite ve plan kalitesi

  • İstatistiklerin optimizer kararlarına etkisini kavrama
  • Histogram ve yoğunluk verilerinin nasıl yorumlanacağını öğrenme
  • Yanlış kardinalite tahmininin planı bozma mekanizmasını görmek ve düzeltmek
  • İstatistik güncelleme stratejilerini senaryoya göre belirleme
  • Plan regresyonlarını erken fark edecek kontrol noktaları koyma

6. Sorgu yazımında seçicilik ve filtreleme stratejileri

  • Seçici filtrelerle veri azaltmayı doğru sıraya alma
  • Sargable predicate yaklaşımı ile indeks kullanımını artırma
  • Fonksiyon kullanımının indeksleri devre dışı bırakma etkisini görmek ve önlemek
  • Tarih aralıkları için doğru koşul kalıplarını uygulama
  • Filtreleri okunabilirlik ve performans dengesiyle düzenleme

7. JOIN stratejileri ve join sırası optimizasyonu

  • Join türlerini performans etkisine göre seçme
  • Join sırasını veri hacmiyle uyumlu kurgulamak için yöntem
  • Hash join maliyetini düşürmek için veri azaltma teknikleri ve doğrulama
  • Nested loop için doğru indeksleme koşullarını sağlama
  • Join patlamasını engelleyecek veri modeli farkındalığı kazanma

8. Aggregation, GROUP BY ve window function performansı

  • Aggregation maliyetini tahmin etmeyi öğrenme
  • GROUP BY için doğru indeks yaklaşımını seçme
  • Window function kullanımında sıralama maliyetini yönetmek ve optimize etmek
  • Distinct kullanımının performans etkisini ölçerek karar verme
  • Ön-özetleme teknikleriyle sorgu süresini düşürme

9. İndeksleme stratejileri: tasarım, bakım ve trade-off

  • Clustered ve nonclustered indeks mantığını karşılaştırma
  • Composite indekslerde kolon sırasını seçmek için pratik kurallar
  • Covering index ile lookup maliyetini azaltma ve etkisini doğrulama
  • Over-indexing riskini belirlemek ve güvenli geri dönüş planı hazırlamak
  • İndeks bakımının performans ve yazma maliyetine etkisini yönetme

10. Parametre kullanımı ve plan cache davranışı

  • Parametreli sorguların plan reuse avantajını kavrama
  • Parameter sniffing etkisini senaryoda tespit etme
  • Plan cache’i sağlıklı tutmak için değişkenleri yönetmek ve doğrulamak
  • Dinamik SQL ile güvenlik ve performans dengesini kurma
  • Plan regresyonlarında hızlı iz sürme yaklaşımı geliştirme

11. Kilitlenme, blokaj ve concurrency performansı

  • Lock türlerini ve blokaj zincirini hızlı yorumlama
  • Isolation level seçimini iş yüküne göre belirleme
  • Deadlock senaryosunu analiz etmek ve kalıcı çözüm üretmek
  • Uzun transaction etkisini azaltan tasarım prensiplerini uygulama
  • Concurrency iyileştirmesini metriklerle doğrulama

12. I/O, bellek ve temp alanı etkileri

  • Disk I/O darboğazını metriklerle teşhis etme
  • Memory grant ve spill etkisini plan üzerinden görmek
  • Temp alanı kullanımını azaltacak sorgu kalıpları geliştirme
  • Cache etkisini testlerde doğru yönetmek için yaklaşım
  • Kaynak darboğazlarını önceliklendirme yöntemi oluşturma

13. Büyük tablolar ve partitioning yaklaşımı

  • Büyük veri hacminde sorgu maliyetini hesaplama
  • Partitioning ile bakım ve sorgu performansını dengeleme
  • Partition elimination için doğru filtreleme kalıpları ve doğrulama
  • Arşivleme stratejilerini veri yaşam döngüsüyle uyumlu tasarlama
  • Partition değişikliklerinde risk azaltan geçiş planı oluşturma

14. Yavaş sorgu RCA: uçtan uca kök neden analizi

  • Semptom ile kök nedeni ayıracak kontrol listesi kurma
  • Plan, metrik ve uygulama katmanı verisini birlikte yorumlama
  • Tekrarlanabilir RCA raporu üretmek için adımlı yöntem ve şablon
  • Hızlı kazanım ile kalıcı çözüm ayrımını netleştirme
  • RCA sonrası doğrulama ve izleme ile geri kaymayı önleme

15. Performans testleri ve güvenli değişiklik yönetimi

  • Benchmark senaryolarını iş yüküne uygun tasarlama
  • Gerçekçi veri setiyle test yapmak için yöntem
  • Değişikliklerin yan etkisini ölçmek ve rollback planı hazırlamak
  • Release öncesi performans kapısı oluşturma ve raporlama
  • Performans iyileştirmesini sürdürülebilir süreç haline getirme

16. Ek Modül: Yük Testi ile Performans Ölçümleme Temelleri

  • Yük testi hedeflerini metriklerle netleştirme
  • Rampa, steady state ve spike senaryolarını kurgulama
  • SQL metrikleri ile uygulama metriklerini birlikte yorumlama ve doğrulama
  • Test sonuçlarını aksiyona çevirecek rapor formatı oluşturma
  • Yük testi sırasında güvenli veri ve ortam yönetimi yaklaşımı

17. Ek Eğitim: SQL Server Query Tuning (Index, Plan, Statistics)

  • SQL Server plan operatörlerini hızlı analiz etme
  • İndeks önerilerini eleştirel değerlendirme ile uygulama
  • Statistics güncelleme stratejilerini senaryoya göre belirleme ve doğrulama
  • DMV verileriyle performans ipuçlarını yakalama
  • Plan regresyonunda hızlı müdahale akışı oluşturma

18. Ek Eğitim: Production’da Yavaş Sorgu RCA Workshop

  • Gerçek üretim vakalarını sınıflandırma ve önceliklendirme
  • Kök neden hipotezlerini veriyle doğrulama yaklaşımı
  • Plan, lock ve kaynak metriklerini birlikte okuyarak karar verme
  • İyileştirme adımlarını risk analiziyle planlama ve uygulama
  • Workshop çıktısı olarak aksiyon listesi ve kontrol planı üretme

SQL Performance & Query Tuning Eğitimi ile İlgili
Sıkça Sorulan Sorular ve Cevapları


Execution plan okuma pratiği eğitimde nasıl ilerliyor?

Plan ağaç yapısı, operatör maliyetleri ve estimated/actual farkları üzerinden adım adım ilerleriz. Katılımcılar, örnek planlarda darboğazı bulup hangi değişikliğin neden işe yaradığını doğrulayacak bir okuma alışkanlığı kazanır.

İndeks stratejilerini belirlerken hangi kriterleri kullanıyoruz?

Sorgu kalıbı, seçicilik, write maliyeti, lookup ihtiyacı ve bakım yükünü birlikte değerlendiriyoruz. Composite ve covering indeks senaryolarında kolon sırası ve dahil edilecek kolonları pratik kurallarla seçiyoruz.

JOIN performansını artırmak için hangi yöntemler ele alınıyor?

Join türlerinin maliyet etkisini, veri azaltma stratejilerini ve join sırasını inceliyoruz. Nested loop, hash join ve merge join seçimlerinin hangi koşullarda iyi sonuç verdiğini plan ve metriklerle doğruluyoruz.

Yavaş sorgu RCA yaklaşımında hangi adımları takip ediyoruz?

Semptomun netleştirilmesi, metrik toplama, plan analizi, lock/wait kontrolü ve uygulama katmanı doğrulaması şeklinde ilerliyoruz. Sonuçta tekrar edilebilir bir raporlama formatı ve kalıcı aksiyon üretme pratiği kazanılır.

Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?

Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri ekibinize göre uyarlayabiliriz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.

Eğitim yeri, yöntemi ve sertifikasyon süreci nasıl ilerliyor?

Eğitim online (canlı) veya yerinde gerçekleştirilebilir; tarih ve saatleri ekibinizin uygunluğuna göre planlarız. Program sonunda katılım sertifikası verilir; talep edilirse ölçme-değerlendirme ve raporlama eklenebilir.

 VERİ AKADEMİ