Ana içeriğe atla
SQLOZ
Bölüm 19 OzSuite™ AI ve Gelişmiş Araçlar

Bölüm 19: OzExplain - Yürütme Ağacı ve Index Danışmanı

Bilgi: Bu bölüm; desteklenen EXPLAIN çıktısını görsel yürütme ağacına dönüştürmeyi, tahmini ve gerçek satır sapması uyarılarını ve index önerilerini açıklar. Kullanılabilirlik, sunucunun kapasite sorgulamasına bağlıdır.

Bu bölümde:

19.1 Görsel Yürütme Ağacı

Bir okuma sorgusu seçip Cmd + E tuşlarına bastığınızda OzExplain, mevcut EXPLAIN çıktısını renkli düğümler olarak görselleştirir. SQLite ve istenen explain formunu sunmayan sunucular, karşılık gelen kullanılamaz/hata durumunu gösterir.

  • Kırmızı düğümler (darboğazlar): Full Table Scan (ALL), disk tabanlı filesort veya using temporary gibi verimsiz adımlar.
  • Yeşil düğümler (hızlı adımlar): Primary key veya B-Tree index kullanan adımlar.

Bu görünüm, sorgunun hangi noktasının darboğaz oluşturduğunu bir bakışta belirlemenizi sağlar.

19.2 Tahmini ve Gerçek Satır Karşılaştırması

Bağlı sunucu analyze formunu desteklediğinde OzExplain, optimize edici tarafından tahmin edilen taranan satır sayısını gerçek satırlarla karşılaştırır. MySQL EXPLAIN ANALYZE kullanır; MariaDB desteklenen ANALYZE formunu kullanır. SQLite’ın EXPLAIN ANALYZE yolu yoktur.

Sapma 3 katı aştığında düğümde şu uyarı görünür:

ANALYZE TABLE orders; -- Gerçek satırlar (450.000), tahmini (1.000) 450 kat aşıyor

İpucu: Bu uyarı, veritabanı istatistiklerinin eski olduğunu ve ANALYZE TABLE çalıştırılması gerektiğini gösterir.

19.3 Index Önerileri

Full Table Scan (ALL) tespit edildiğinde OzExplain, taranan tablo için bir index önerisi gösterebilir:

CREATE INDEX idx_orders_opt ON orders (<filtre_sütunları>);

Öneri, önerilen bir ifade şeklidir; SQLOZ bu görünümde filtre sütunlarını çıkarmaz. Gerçek iş yüküne karşı sütunları gözden geçirin ve normal güvenlik kapısı aracılığıyla uygulayın; SQLOZ index’i sessizce oluşturmaz.

İlgili Konular