:P öncelikle bir 'estağfurullah' ile başlayım materelized view lerin cluster sistemlerin veya uzak rdbms üzerinde çalışan clientlerin bir nevi tampon tablo olarak kullanılması için işe yaradığını duymuştum, kullanmadım :)
kendisini, zamanlamalı olarak ana tablo ile güncelleyen ama tablo olmayan, client -veya cluster- diskinde yer kaplayan bir view olarak düşünebiliriz. mysql olduğunu duymadım ancak, araştırmak lazım tabi. arkadaşa yardımcı olur mu, sanmıyorum. kendini otomatik güncelleyen bir temp table'a(veri bütünlüğü vs. tartışılır) oracle 'materelized view' dediği için ansi sql'de tanımlanan view'le karşılaştırmayada gerek görmüyorum açıkcası :) kolay gelsin... 26 Ağustos 2009 00:21 tarihinde, Elvin Şiriyev <[email protected]> adlı kullanıcı şunu yazmış: > 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 > > _______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
