eğer iki alanda birden arama yaptırıyorsanız en hızlısı ikisine composite index atmak, bu ayrı ayrı atılacak 2 indexten de daha güzel sonuçlar yaratcaktır.
alter table TTTTT add index INDEXCOMP(XXX,YYY); bir de hangi kolon un selectivity si fazla ise index i atarken onu öne koymakta fayda var. kolay gelsin... 2009/8/26 Nuri Akman <[email protected]> > Arkadaşlar, > > 2 milyon kayıt bulunan bir veritabanım var. *XXX *alanına göre indexli. > Şöyle bir sorgum var: > > SELECT * FROM tablo WHERE *XXX *= 123456 AND *YYY *= 5 > > Bu sorguda, XXX=123456 koşuluma her durumda *en çok* 60 kayıt > yakalanabilir. > > *İlk sorum şu:* Böyle bir durumda *YYY *alanı için de index vermeme gerek > var mı? MySQL'in önce üzerinde index bulunan alanlar üzerinde çalışması > gerektiğini düşünüyorum. Böyle olunca ben XXX alanı için kriter verdiğimde > geriye zaten en çok 60 kayıtlık bir gruptan seçim yapmak kalıyor ki bu da > zaman almaz diye düşünüyorum. Acaba doğru mu düşünüyorum? > > *Son sorum da şöyle: *Yukarıdaki sorgumu SELECT * FROM tablo WHERE *YYY *= > 5 AND *XXX *= 123456 şeklide yer değiştirerek yapsam cevap süresi değişir > mi? > > Şimdiden teşekkürler... > > _______________________________________________ > Linux-programlama mailing list > [email protected] > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > > -- Serdar Güler
_______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
