Tekrar Merhaba,

İlginize çok teşekkür ederim. Sadece "force index" kullanarak ve kod
içindeki mysql_close satırlarını silerek sadece gerektiğinde çalıştırdığım
özel bir kontrol sayfamın çalışma süresini 48 saniyeden 27 saniyeye
düşürdüm.

Selamlar,
Nuri Akman


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

> Merhaba,
>
> USE INDEX optimizer ın seçebileceği birden fazla index mevcut ise tercih
> edilirken, optimizer ın index kullanmamayı tercih ettiği durumlarda
> durumlarda FORCE INDEX tercih edilmelidir.
>
> Server parametreleri için ise şu parametre şu olmalıdır, bu parametre bu
> olmalıdır gibi bir söylem çok da uygun olmaz, server ın özelliklerine göre,
> tuttuğunu verinin özelliklerine göre ve yaptığımız sorgunun özelliklerine
> göre optimize edilecek ayarlar var. Eğer MySQL i lisanslı alırsanız
> beraberinde gelen MySQL Enterprise Monitor serverdaki bazı parametreleri
> izleyerek size bu parametreler konusunda yorumlarda bulunuyor. Ayrıca MySQL
> in status bilgilerinde yapacağınız bazı hesaplamalarla aynı yorumları
> kendiniz de yapabilirsiniz.  (
> http://dev.mysql.com/doc/refman/5.1/en/server-status-variables.html)
>
> Kolay gelsin...
>
>
> 2010/9/24 Nuri AKMAN <[email protected]>
>
> 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
>>
>>
>
>
> --
> 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