Eğitimin Amacı ve Kapsamı
Uygulama sunucularını yatayda çoğaltmak kolaydır; ancak altında çalışan veri tabanında indeks kullanmayan tek bir sorgu, yanlış join stratejisi veya uzun süren bir kilit tüm sistemi durma noktasına getirir. Bu eğitim, geliştirici ve DBA'lere tahmin yürüterek indeks eklemek yerine yürütme planı (Execution Plan) ve istatistiklere dayanarak darboğaz çözme disiplini kazandırır.
Eğitimde Cost-Based Optimizer ve kardinalite tahmini, Execution Plan operatörleri (Scan/Seek, Key/Bookmark Lookup, Nested Loops, Hash/Merge Join, Sort/Spill), bileşik ve örtülü (covering) indeks mühendisliği, SARGability ve SQL yeniden yazma kalıpları, ORM (EF Core / Hibernate) kaynaklı performans tuzakları, Parameter Sniffing ve kilit/deadlock analizi uygulamalı olarak işlenir. Örnekler kurumun kullandığı motora (PostgreSQL, SQL Server, Oracle veya MySQL) uyarlanır.
Kimler Katılmalı?
- Yüksek hacimli tablolar üzerinde çalışan kıdemli backend geliştiricileri ve yazılım mimarları
- Sorgu iyileştirme ve performans darboğazlarından sorumlu DBA ve veri mühendisleri
- ORM tarafından üretilen yavaş SQL sorgularını teşhis etmek isteyen teknik liderler
- Ön koşul: aktif SQL yazma ve temel ilişkisel veri tabanı deneyimi
Kazanımlar
- Tahmini ve gerçek yürütme planlarındaki (Execution Plan) en maliyetli operatörleri ve kardinalite sapmalarını okumak
- Filtreleme, sıralama ve join kolonlarına göre fazla indeks yaratmadan doğru Covering/Filtered indeksleri tasarlamak
- SARGable olmayan ifadeleri, skaler fonksiyonları,
ORtuzaklarını ve yavaş sayfalama (OFFSET) sorgularını yeniden yazmak - Parameter Sniffing, eksik/eski istatistik ve TempDB/work_mem taşması (spill) sorunlarını gidermek
- ORM kaynaklı N+1, kartezyen patlama ve örtük tip dönüşümü (implicit conversion) hatalarını yakalamak
Konular
Sorgu Yaşam Döngüsü, Cost-Based Optimizer ve Execution Plan Okuma
- Parsing, Algebrizer, Cost-Based Optimizer (CBO) ve Plan Cache / Execution aşamaları
- Tahmini (Estimated) vs Gerçek (Actual) yürütme planı, mantıksal/fiziksel okuma (logical reads / buffers)
- Histogramlar, yoğunluk (density) vektörü ve tahmin edilen vs gerçek satır sayısı (cardinality) sapmaları
İndeks Mühendisliği ve Erişim Yolları (Access Paths)
- B-Tree yaprak ve kök sayfaları, Clustered vs Heap tablo yapısı ve Key/Bookmark Lookup maliyeti
- Composite indekslerde sütun sırası seçimi (eşitlik vs aralık), Covering Index (
INCLUDE) ve Filtered/Partial Index - Yazma maliyeti, indeks parçalanması (fragmentation/bloat) ve kullanılmayan/çakışan indekslerin temizlenmesi
Join Algoritmaları, Sıralama ve Bellek Taşmaları (Spills)
- Nested Loops, Merge Join ve Hash Match Join: optimizer hangisini ne zaman seçer ve ne zaman yanılır?
GROUP BY(Stream vs Hash Aggregate),ORDER BY(Sort operatörü) ve indeks destekli sıralama- Bellek tahsisi (Memory Grant /
work_mem) ve diske taşan (TempDB / Disk Spill) sorguların çözümü
SQL Yeniden Yazma (Query Rewriting), SARGability ve ORM Tuzakları
- SARGability kuralları: indeks kullanımını bozan fonksiyonlar, baştan jokerli
LIKEve örtük tip dönüşümü (Implicit Conversion) - Skaler UDF maliyeti, ilişkili alt sorgular vs Window Functions,
EXISTSvsINve Keyset (Seek) sayfalama - Parameter Sniffing (plan önbelleği zehirlenmesi) teşhisi ve ORM (EF Core / Hibernate) sorgu iyileştirmeleri
Kilitlenme, İzolasyon Seviyeleri ve Canlı Vaka Tuning Atölyesi
- Kilit eskalasyonu, bloklama zincirleri, Deadlock grafiği okuma ve RCSI / MVCC okuma tutarlılığı
- En maliyetli sorguları bulma (Query Store /
pg_stat_statements/ AWR) ve gerçek yavaş sorgu iyileştirme laboratuvarı
Bu Kategorideki Diğer Eğitimler
-
Oracle PL/SQL ile Veri Tabanı Programlama
PL/SQL blok yapısı, cursor'lar, saklı prosedür/fonksiyon ve modüler Package tasarımı, kurumsal hata yönetimi, trigger'lar, dinamik SQL ve FORALL/BULK COLLECT ile yüksek hacimli veri işleme.
- Canlı Kurs
- 5 modül
-
SQL Veri Modelleme, Normalizasyon ve Şema Optimizasyonu
Kavramsal/mantıksal/fiziksel veri modelleme, 1NF–3NF/BCNF normalizasyon kuralları, veri anomalilerini önleme, kontrollü denormalizasyon, doğal vs vekil (surrogate) anahtarlar, veri tipleri, kısıtlar ve sıfır kesintili şema evrimi.
- Canlı Kurs
- 5 modül
-
SQL Sorgulama Temel
İlişkisel veritabanı mimarisi, veri modelleme, normalizasyon, indeksleme, tablolar, görünümler (Views), saklı prosedürler (Stored Procedures) ve JOIN ile temel SQL sorgulama.
- Canlı Kurs
- 8 modül
-
SQL Veri Tabanı Sorgulama
SQL Server mimarisi, SSMS kullanımı, T-SQL temelleri, SELECT sorguları, çoklu tablo JOIN işlemleri (INNER, OUTER, CROSS, SELF JOIN), OFFSET-FETCH sayfalama ve yerleşik (Scalar, Aggregate, Window) fonksiyonlar.
- Canlı Kurs
- 7 modül
-
Apache Spark SQL ile Büyük Veri Sorgulama
Apache Spark SQL ve DataFrame API, Catalyst Optimizer ve Adaptive Query Execution (AQE), Parquet/Delta Lake/Iceberg tablo formatları, join stratejileri ve data skew çözümü; büyük veri analitiği geliştiren ekipler için.
- Canlı Kurs
- 5 modül
-
PostgreSQL Temelleri ve İleri Seviye Geliştirme
PostgreSQL veri tipleri, ileri SQL (CTE, window functions, LATERAL), JSONB ile belge modelleme, tam metin arama, B-Tree/GIN/GiST/BRIN indeksleri, PL/pgSQL, MVCC/kilitler ve tablo bölümleme; uygulama geliştiricileri için.
- Canlı Kurs
- 5 modül
Bizimle iletişime geçin