Oracle‘da bir sorgunun çalışmasının sisteme olan maliyet bilgileri, EXPLAIN PLAN sayesinde hesaplanabilmektedir. Kullanılan plan tablosunun COST kolonunda sorgunun sisteme olan yükünün hesaplanmış değeri tutulmaktadır. Kullanılan optimizerin çalışma yolunu değiştirerek ( sorguya yardımcı ek kurallar koyarak, indeks ekleyerek, indeks kaldırarak, nesnelerin analizini yaparak vs. ) hesaplanan yükteki yükselmeler ve azalmalar gözlemlenir. Böylece sorgunun en uygun maliyeti veren çalıştırma yöntemi seçilir. FILTER Korelasyon alt sorgusu gibi eşleşen kayıtları daha kaliteli bir hale getirmek için sorguda uygulanacak kriterdir.
FULL TABLE SCAN Tablo ilk kayıttan son kayıda kadar taranmakta ve herhangi bir indeks kullanılmamaktadır.
INDEX (UNIQUE) SQL sorgusu belirli bir değeri aramak için unique ( her satır için ayrı tek kayıt ) indeks kullanmaktadır.
INDEX (RANGE SCAN) SQL sorgusunda eşitsizlik ya da BETWEEN kriteri kullanılmaktadır. HASH JOIN SQL sorgusundaki tablolar okunur ve hash-key olarak bilinen bir
matematiksel hesaplama ile hafızaya alınırlar.
MERGE JOIN SQL sorgusunda FROM cümleciğinde birden fazla tablo yer aldığı zaman bu birleştirme yöntemi kullanılır. Oracle, iki sonuç tablosunu birleşen sütunlar üzerinde biraraya getirerek sıralayacak ve sonra birleşen sütunlar yardımıyla sonuçları biraraya getirecektir.
NESTED LOOP Bu işlem, tabloları birleştirmenin bir başka yöntemidir. İç içe kullanılan döngü anlamına gelen yöntemde sistem paralel olarak birleştirilen indeksler üzerinde döngü içinde ilerleyerek sonuca ulaşmaya çalışmaktır.
Advertisements