hazın konu açılmışken Mehmet arkadaşımız materelized view dan bize
bahsederse sevinirim. mysql de bunun yerine hangi seçenekler mevcut, veya
varmı ?

konu belki soruyu soran arkadaşa yardımcı olaiblir.

iyi akşamlar.

2009/8/26 Mehmet Gürevin <[email protected]>

> 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
>



-- 
Elvin Şiriyev
http://siriyev.net
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap