İçindekiler:
Tanımı - Sorgu Doktoru ne anlama geliyor?
Sorgu iyileştirici, Yapısal Sorgu Dili (SQL) sorgularını analiz eden ve etkin yürütme mekanizmalarını belirleyen kritik bir veritabanı yönetim sistemi (DBMS) bileşenidir. Bir sorgu iyileştirici, her sorgu için bir veya daha fazla sorgu planı oluşturur; bunların her biri, bir sorguyu çalıştırmak için kullanılan bir mekanizma olabilir. En verimli sorgu planı seçilir ve sorguyu çalıştırmak için kullanılır.
Veritabanı kullanıcıları genellikle arka planda çalışan bir sorgu iyileştirici ile etkileşime girmez.
Techopedia, Sorgu Optimize Edici'yi açıklıyor
SQL sorguları basit veya karmaşık ifadeler olabilir. Her SQL ifadesi, disk okumaları ve sunucu belleği gibi değerli kaynakların minimum düzeyde kullanılmasını gerektirir. Sorgu iyileştirici, bunun yanı sıra her SQL sorgusunun hızlandırılmış yürütülmesini sağlar. Örneğin, bir sorgu optimize edici kaynak maliyetlerine dayalı bir dizi sorgu planı oluşturabilir. Bir sorgu planı, verilerinin bir alt kümesini almak için bir tablonun okunmasını içerebilirken, diğeri hızlı veri okumak için tablo indekslerinin kullanılmasını içerebilir. Bunlar maliyet esaslı optimize ediciler olarak bilinir.
Bir sorgu iyileştirici, çevresel koşullara bağlı olarak aynı sorgu için farklı sorgu planları seçebilir. Örneğin, bir kullanıcı tablo verilerinin yaklaşık yarısını seçen bir sorgu çalıştırır. Sunucu çok sayıda eşzamanlı bağlantıyla yoğun bir şekilde görevlendirildiğinde, kullanıcı sorguyu çalıştırır. Bu senaryoda, sorgu eniyileyicisi sınırlı kaynaklara dayalı olarak sorguyu karşılamak için oluşturulan tablo dizinlerini çağıran bir sorgu planı kullanmaya karar verebilir. Bu, sorgu tarafından minimum sunucu boşaltımı sağlar. Aynı sorguyu başka bir zamanda daha fazla kaynakla çalıştırarak, sorgu optimize edici kaynak sınırlamasının bir sorun olmadığını belirleyebilir. Bu durumda, tablo dizinleri kullanılmaz ve sorgu optimize edici sunucu belleğine tam tablo yüklemesine izin verir.
