Arkadaşlar,

Aşağıdaki sorguyu optimize etmem gerekiyor. Çünkü, sql explain'den batığımda
300.000 kayıt (yani tüm kayıtlarım) üzerinde çalışıyor. Bu sorgulardaki
satis_tarihi, hareket_tarihi ve iptal_tarihi alanları ayrı ayrı indexli.

*select islem_id from satislar where
satis_tarihi   > DATE_SUB(CURDATE(), INTERVAL 15 MINUT**E) OR **
hareket_tarihi > DATE_SUB(CURDATE(), INTERVAL 15 MINUTE) OR
iptal_tarihi   > DATE_SUB(CURDATE(), INTERVAL 15 MINUTE)*

Yaptığım testlerde "field > değer" kriteri konulduğunda index
kullanılmazken, "field between xx and yy" yaptığımda index devreye giriyor.
Yukarıdaki sorgumda her bir satırı BETWEEN ile yapıp denediğimde olumlu
sonucu alamadım, ancak bu satırları teker teker çalıştırınca optimizasyon
gerçekleşiyor.

Göstereceğiniz ilgiye şimdiden teşekkürler...

Selamlar,
Nuri Akman
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap