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
