select * from tablo order by adi limit 50;
gibi bir sorguda limit in performansa hiçbir etkisi olmayacaktır.
çünkü orrder by ile tablodaki tüm veriyi zaten işlemesini söylemiş
oluyorsun.
where clauselarla kısıtlanmış selecter üzerinde tüm veriyi işlemesini
söylemediğiniz sürece limit işini olması gerektiği gibi yapar ve
döndürülmesi gereken sonuç kümesini limitler.
rs = stmt.execute('select * from tablo');
int i = 0;
while(rs.next()){
///
if(++i == 100) break;
}
ile
rs = stmt.execute('select * from tablo limit 100');
int i = 0;
while(rs.next()){
///
if(++i == 100) break;
}
aynı şey değildir, limit li olan sorguda belirgin performans artışı
gözlenebilir.
performans sorunları için mysql de analyze anahtar kelimesini araştır,
index yapılarını gözden geçir, gruplamalara ve join lere bak bence.
view in sana bir faydası -kullalabilirlik dışında- olacağını
sanmıyorum.
kolay gelsin.
24 Ağustos 2009 18:43 tarihinde, Guychmyrat Amanmyradov
<[email protected]> adlı kullanıcı şunu yazmış:
> Merhabalar.
>
> 100.000 kişilik veritabanım var. Fotoğrafları onlarnarı getirsin diye bir
> view oluşturdum. Yani sadece fotoğraflı olanları fotoMemberView-e atadim.
> Baktımki fotosu olanların sayısı 70.000 kadar. Buda sorguyu çok
> yavaşlatıyor. O yüzden view-i oluştururken limit ekledim. Yani son 500
> kişiyi getirsin dedim. View oluşturdum güzel. içinde de 500 kişi var.
> Yalnız mysql_slow.log-dan baktığımda fotoMemberView-den çekilen Row (Satır)
> sayısı 70.000 gösteriyor. Flush yaptım. MySQL yeniden başlattım. Çözüm
> olmadı. Acaba bir fikri olan varmı ? Slow_query-e düşüyor. Ve Row sayısı
> olarakta 70.000 gösteriyor. Ama view-imde toplam 500 kişi var? MySQL cache
> fonksiyonlarnda bulamadım...
>
> ________________________________
> Yahoo! Türkiye açıldı!
> Haber, Ekonomi, Videolar, Oyunlar hepsi Yahoo! Türkiye'de!
> www.yahoo.com.tr
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama