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
