• 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.
hesabın var mı? giriş yap