Query Optimizer
Bir SQL sorgusu için olası erişim yolları ve join sıraları arasından istatistik ve maliyet modeline göre yürütme planı seçen veritabanı bileşeni.
Query optimizer, SQL metninin ne istediğini fiziksel olarak nasıl çalıştırılacağına dönüştürür. Index scan, full scan, join yöntemi ve join sırası gibi adaylar cardinality tahminleri ile CPU, I/O ve bellek maliyet modeline göre karşılaştırılır.
Yanlış plan çoğu zaman "optimizer hatası"ndan önce yanlış veya yetersiz cardinality bilgisidir. Histogram, bind dağılımı, korelasyonlu kolonlar ve stale statistics maliyet tahminini bozabilir. Bu nedenle plan incelemesinde yalnız seçilen access path değil, optimizer'ın her adım için beklediği satır sayısı ile gerçekte üretilen satır sayısı karşılaştırılmalıdır.
İlgili: Execution Plan, Cardinality Estimation, Index Selectivity, Oracle Veritabanı ve PL/SQL, İlişkisel Veri Tabanlarında İndeksin Mühendislik Karşılığı.