Etkili SQL sözdizimi

WHERE deyimindeki bir alt sorgu yerine bir sorguya tablo eklemek için JOIN ( FROM deyimindeki) öğesini kullanın. Bu ipucu, yalnızca filtreleme için bir sonuç kümesi yerine bir tablonun verilerine ihtiyacınız olsa da geçerlidir.

FROM deyiminde birden fazla tabloyu birleştirmek WHERE deyimindeki bir alt sorguyu kullanmaktan daha iyi performans sağlar.

Dizinlerden faydalanmayan SQL ifadelerini kullanmayın. Bu ifadeler bir alt sorguda toplama işlevlerinin kullanımını, alt sorguda UNION ifadesini veya UNION ifadesine sahip ORDER BY deyimini bulundurur.

Bir dizinin kullanımı, SELECT sorgusunun işlenme hızını büyük oranda artırabilir. Ancak, belirli SQL sözdizimleri veritabanının dizin kullanmasını önler ve onu arama ve sıralama işlemleri için asıl veriyi kullanmaya zorlar.

Özellikle LIKE('%XXXX%') öğesindeki gibi bir satır aralığı joker karakteriyle LIKE operatörünü kullanmaktan kaçınmayı unutmayın.

LIKE işlemi joker aramalarının kullanımını desteklediğinden, tam eşleşme karşılaştırmalarını kullanmaktan daha yavaş performans sağlar. Özellikle, arama dizesine bir joker karakterle başlarsanız, veritabanı aramada dizinleri kullanamaz. Bunun yerine, veritabanı tablonun her satırındaki metni aramalıdır.

IN operatörünü kullanmaktan kaçının. Olası değerler önceden biliniyorsa, IN işlemi daha hızlı çalıştırma için AND veya OR öğeleri kullanılarak yazılabilir.

Aşağıdaki iki ifadenin saniyesi daha hızlı çalışır. IN() veya NOT IN() ifadelerinin kullanımı yerine basit eşitlik ifadelerini OR ile birlikte kullandığı için daha hızlıdır:

-- Slower 
SELECT lastName, firstName, salary 
FROM main.employees 
WHERE salary IN (2000, 2500) 
     
-- Faster 
SELECT lastName, firstName, salary 
FROM main.employees 
WHERE salary = 2000 
    OR salary = 2500
Performansı iyileştirmek için, bir SQL ifadesinin alternatif formlarını deneyin.

Önceki örneklerle gösterildiği gibi, bir SQL ifadesinin yazılış biçimi veritabanı performansını da etkileyebilir. Belirli bir sonuç kümesi elde etmek amacıyla bir SQL SELECT ifadesi yazmanın genellikle birden çok yolu vardır. Bazı durumlarda, bir yaklaşım diğerinden fark edilir ölçüde daha hızlı çalışır. Önceki önerilere ek olarak, farklı SQL ifadeleri ve onların performansıyla ilgili daha fazla bilgiyi SQL diliyle ilgili kaynaklardan edinebilirsiniz.