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.
|
|
|