Merhaba,
Aşağıdaki adrese bir göz atmanızı tavsiye ederim. Aldığınız sonuçlarda bir adım daha öteye gidebilirsiniz.
http://dev.mysql.com/tech-resources/articles/mysql_55_partitioning.html
24-09-2010 15:40, Nuri AKMAN yazmış:
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 <benimadimhicki...@gmail.com <mailto:benimadimhicki...@gmail.com>>

    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 <nuriak...@gmail.com
    <mailto:nuriak...@gmail.com>>

        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 <benimadimhicki...@gmail.com
        <mailto:benimadimhicki...@gmail.com>>

            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 <pard...@gmail.com
            <mailto:pard...@gmail.com>>

                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
                Linux-programlama@liste.linux.org.tr
                <mailto:Linux-programlama@liste.linux.org.tr>
                https://liste.linux.org.tr/mailman/listinfo/linux-programlama
                Liste kurallari: http://liste.linux.org.tr/kurallar.php

                _______________________________________________
                Linux-programlama mailing list
                Linux-programlama@liste.linux.org.tr
                <mailto:Linux-programlama@liste.linux.org.tr>
                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
            Linux-programlama@liste.linux.org.tr
            <mailto:Linux-programlama@liste.linux.org.tr>
            https://liste.linux.org.tr/mailman/listinfo/linux-programlama
            Liste kurallari: http://liste.linux.org.tr/kurallar.php



        _______________________________________________
        Linux-programlama mailing list
        Linux-programlama@liste.linux.org.tr
        <mailto:Linux-programlama@liste.linux.org.tr>
        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
    Linux-programlama@liste.linux.org.tr
    <mailto:Linux-programlama@liste.linux.org.tr>
    https://liste.linux.org.tr/mailman/listinfo/linux-programlama
    Liste kurallari: http://liste.linux.org.tr/kurallar.php



_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap