Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Materialized view nedir?

Açık 1 Cevaplar 53 Gösterim Veri Tabanı
Materialized view nedir? Avantajları - dezavantajları nelerdir?

1 cevap

0

Veri tabanında sorgu yazarken çok büyük ve uzun sorguları bir tablo gibi bir değişken üzerinden erişimimize yardımcı olan yapılara diyoruz.

Örneğin;

select a.kolon1, b.kolon2, c.kolon3 from a_tablo a, b_tablo b, c_tablo c
where a.id = b.id and a.id = c.id


Bu sorgu üzerinde sürekli işlem yapılacaksa sorguyu bir değişken gibi kayıt ediyoruz.

create view a_view as
select a.kolon1, b.kolon2, c.kolon3 from a_tablo a, b_tablo b, c_tablo c
where a.id = b.id and a.id = c.id

Daha sonradan;

select * from a_view

sorgusunu çektiğimiz zaman veri tabanının döndürdüğü sonuç ilk sorgunun sonucu ile aynı olacaktır.

Peki materialized view?

Normal bir view db üzerinde yer kaplamaz. Sorgu her atıldığında yapılması gereken işlem/hesaplama tekrar yapılır.

Eğer sorgunuzun sonuç üretmesi dakikalar, saatler hatta günler alıyorsa, bu sorgular geçiçi tablolara eklenebilir. İşte materialized view da geçiçi tablo gibi iş yapar. Sorguyu sizin istediğiniz zaman aralığında çeker ve bir tabloya ekler. Siz aynı sorguyu çektiğiniz zaman tekrar tekrar hesaplamayla uğraşmaz. Verilen sıklıkta kendi kendine oluşturduğu tabloyu sürekli senkronize eder ve işlem (processing) maliyetinden kısar. Tabi yerden kaybettirir. Hangisi sizin için daha kıymetli ona karar verebilirsiniz.

(4k puan)