Merhaba, Fri, 24 Sep 2010 02:11:51 +0300, Nuri AKMAN <[email protected]> :
> SQL1 : SELECT * FROM listeler WHERE islem_tarihi between > '2010-09-20' AND '2010-12-31' > SQL2 : SELECT * FROM listeler WHERE islem_tarihi between > '2010-09-19' AND '2010-12-31' > Çalışan SQL'i analiz ettiğimde: > SQL1 için sadece 5431 satırı işlendiğini görüyorum > SQL2 için tablonun tüm satırlarının (250.000 satırın hepsinin) > işlediğini görüyorum. Yani, index devre dışı kalıyor :( MySQL'in bir "cost optimizer"ı var, eğer tabloyu indekse göre rasgele aramasının sıralı aramaktan daha uzun süreceğini düşünüyorsa indeks olmasına karşın kullanmıyor. http://dev.mysql.com/doc/refman/5.0/en/optimizer-issues.html Doruk -- FİŞEK ENSTİTÜSÜ - http://www.fisek.com.tr _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
