Oracle Ders 40 – Views – 05 Materialized View

Merhaba Arkadaslar,
Bu dersimizde Materialized (gerceklestirilmis) View konusunu inceleyecegiz.

Materialized View diger view’lerden farkli olarak fiziksel olarak yer kaplar.
View’ler tablolar uzerinde anlik bulunan verileri cekip sonucu bize dondururler. Fakat Materialized View’lerde bu durum farklidir. Materialized View ne zaman olusturulduysa o zamana ait verileri tutalacaktir.

Viewler bir sql sorgusunun saklanma seklidir, Materialized View hem sql sorgusu+ veriden olusmaktadir. Bu nedenle Materialized View verileri replicate(kopyasini almak) etmektedir. Peki replicate neden gerekebilir ?

Cok buyuk veriler/tablolar uzerinde kompleks sorgular cok fazla prosese neden olmakta ve diger sistem kullanicilarini olumsuz etkilemektedir.Veriyi raporlarlama , analiz islemleri icin replicate etmek bu olumsuz etkiyi azaltir.

Birden fazla tablo uzerinde surekli yaptigimiz join islemi belirli zaman araliklarinda yaparak performans ve zaman kazanci saglayabiliriz. Bunun dezavantaji olarak guncel veriler uzerinde islem yapamamis olmamizdir.

create materialized view customer_mv
refresh complete
start with sysdate next sysdate+7
as select customer#,city,state,order#,sum(quantity*retail) qr
from customers join orders using(customer#)
    join orderitems using(order#)
    join books using(isbn)
    group by customer#,city,state,order#;

oracle 40 materialized view

Burada refresh complete yapisini kullandik, bunun anlami belirtigimiz periyodik surelerde Materialized View’in tekrar olusturucagidir.

start with sysdate ile Materialized View’in derhal yaratilacagini ve next sysdate+7 diyerek tekrar olusturulacagini belirtiyoruz.

Olusturdugumuz Materialized View’i silmek icin ;

drop materialized view customer_mv;


Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
injavawetrust

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published.