materialized view
-
bir veri tabanı nesnesi türü.
view'lerde bulunan sql ifadesi sadece sql'in kısaltması olarak saklamayı ve sonradan başka bir sql içerisinde kullanmayı kolaylaştırırken, materialized view sql'in verisini veritabanında bir tablo gibi saklar.
genelde çok büyük verilerin özetinin tutulduğu nesnelerdir. veri ambarlarında daha sık kullanılır. group by, sum, count içeren sql'lerde daha çok tercih edilir.
en hoşuma giden özelliği şudur: oracle'da enable query rewrite parametresi ile oluşturulursa, materialized view içerisindeki sorguyu çalıştıran bir kullanıcı materialized view'in adını bilmese bile sorgusu buradaki hazır veriden getirilir. böylece sorgusu daha hızlı çalışabilir. eğer sql çalıştıran kişi bu özelliği kullanmak istemezse sorgularına /*+no_rewrite*/ hint'ini eklemelidir.
örnek :
create materialized view sales_2012
enable query rewrite
as
select cust_id, product_id, sum(amount) as amount, count(product_id) as count
from sales
where year = 2012
group by cust_id, product_id
çok fazla özelliği olan bir nesnedir. kendi kendini refresh edebilir. bunun için veritabanında belli periyotlarla çalışan dbms_job oluşturur.
ukteyi veren: huzursuz -
aslında bir sorgunun sonucunu periyodik olarak bir tabloya yazan zamanlanmış bir görevdir. view'ı her seçtiğinizde ilgili sorgu çalıştırılırken, mat. view'da doğrudan bu tablodan okursunuz. haliyle ikincisi çok çok daha hızlı. catch ise view "canlı" iken mat. view son refresh'i ne zamansa o zamanki veriyi gösterir.
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap