Merhaba Serdar Bey,

select * from listeler
*force index (  xxxx_islem_tarihi  )*
where islem_tarihi between "2010-08-10" and "2010-12-31"

Tavsiyeniz üzerine yukarıdaki şekilde yapılca index devreye girdi.
Teşekkürler. Ancak, USE INDEX ile sonuc alamadım. (islem_tarihi alanına
xxxx_islem_tarihi adı ile index verdiğim için force index'e bunu yazdım.)

DİĞER TARAFTAN:
SİZCE, DİĞER SUNUCU PARAMETRELERİM DOĞRU MU? SİZLER NE ÖNERİRSİNİZ?

Selamlar,
Nuri Akman


2010/9/24 serdar güler <[email protected]>

> Selamlar,
> MySQL in sistem parametrelerinde dolayı index devre dışı kalmaz, index in
> kullanılıp kullanılmayacağına karar veren mekanizma optimizer , eğer inde i
> kullanmasının full table scan e göre daha iyi olacağını düşünüyorsanız. USE
> INDEX, FORCE INDEX gibi hintlerle SQL i zenginleştirebilirsiniz.
>
> Kolay gelsin...
>
> 2010/9/24 Baris CUHADAR <[email protected]>
>
>  Tarihleri integer - unixtimestamp olarak saklamanız, index büyüklüğünüzü
>> azaltıp, indexleme zamanını kısaltıp, ayrıca sıralama işlemlerini
>> kolaylaştırabilir.
>>
>> integer 4 byte, datetime 8 byte yer kaplıyor.
>>
>> Bu işlemler program kodunuzu değiştirmenizi gerektirecektir.
>>
>>
>> On 09/24/2010 02:11 AM, Nuri AKMAN wrote:
>>
>> Arkadaşlar,
>>
>> MySQL'de listeler adlı bir tablom var ve islem_tarihi adlı alan için index
>> tanımım var. Tabloda 250.000+ kayıt var.
>>
>> SQL1 sorguma 5431 kayıt geliyor ve süre: 0.027 saniye,
>> SQL2 sorguma 5570 kayıt geliyor ve süre: 3.510 saniye (130 kat daha yavaş
>> !)
>>
>> 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 :(
>>
>> Bu durumun MySQL'in server parametrelerinden birinden kaynaklı olduğunu
>> düşünüyorum. Fakat bulamadım...
>>
>> Bu durumu nasıl düzeltebilirim?
>>
>> 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
>>
>>
>> _______________________________________________
>> Linux-programlama mailing list
>> [email protected]
>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>>
>>
>
>
> --
> Serdar Güler
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
_______________________________________________
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