Baxış vs Materiallaşdırılmış Görünüş
Baxışlar və materiallaşdırılmış görünüşlər (mviews) iki növ Oracle verilənlər bazası obyektləridir. Bu obyektlərin hər ikisi seçilmiş sorğulara istinad edir. Bu seçmə sorğular virtual cədvəllər kimi çıxış edir. Adətən baxışlar və mviews birləşmələr dəsti olan böyük seçilmiş sorğulara istinad edir. Buna görə də, baxışların əsas üstünlüklərindən biri ondan ibarətdir ki, biz mürəkkəb seçilmiş sorğuları görünüş kimi saxlaya bilərik. Beləliklə, biz son istifadəçilərdən seçilmiş sorğuların arxasında məntiqi gizlədə bilərik. Kompleks seçim ifadəsini yerinə yetirmək lazım olduqda, sadəcəyerinə yetirməliyik.
görüntü adındanseçin
Bax
Əvvəlcə qeyd edildiyi kimi, görünüş seçilmiş sorğunu gizlədən virtual cədvəldir. Bu seçmə sorğular əvvəlcədən icra olunmur. Görünüşdən seçim ifadəsini yerinə yetirdiyimiz zaman o, görünüş gövdəsinin daxilində olan seçim ifadəsini icra edir. Görünüş orqanının seçilmiş ifadəsini çox mürəkkəb bir ifadə kimi qəbul edək. Beləliklə, icra edildikdə, icra etmək üçün bir az vaxt tələb olunur (nisbətən daha çox vaxt). Bundan əlavə, görünüş özünü saxlamaq üçün çox kiçik yerdən istifadə edir. Çünki onun məzmunu olaraq yalnız seçilmiş ifadə var.
Maddiləşdirilmiş Görünüş (Mview)
Bu, xüsusi baxış növüdür. Görünüşlərlə bağlı performans problemlərimiz olduqda Mviews yaradılır. Biz mview yaratdıqda, o, seçmə sorğusunu yerinə yetirir və çıxışını snapshot cədvəli kimi saxlayır. Mview-dən məlumat tələb etdikdə, onun seçim ifadəsini yenidən yerinə yetirməsinə ehtiyac yoxdur. O, öz snapshot cədvəlindən çıxışı verir. Buna görə də, mview-in icra müddəti görünüşdən azdır (eyni seçim ifadəsi üçün). Bununla belə, mviews hər zaman istifadə edilə bilməz, çünki o, snapshot cədvəli kimi saxlanılan eyni çıxışı göstərir. Ən son nəticə dəstini əldə etmək üçün mview-i təzələməliyik.
View və Mview arasındakı fərq nədir?
1. Mview yaradılan zaman öz çıxışını həmişə snapshot cədvəli kimi saxlayır, lakin görünüş heç bir cədvəl yaratmır.
2. Görünüşün məzmununu saxlamaq üçün böyük yerə ehtiyacı yoxdur, lakin mview məzmununu saxlamaq üçün görünüşdən nisbətən daha böyük yerə ehtiyac duyur (snapshot cədvəli kimi).
3. Görünüş daha çox icra müddəti tələb edir, lakin mview baxışlardan daha az icra müddəti alır (eyni seçim bəyanatı üçün).
4. Ən son datanı əldə etmək üçün Mviews yenilənməlidir, lakin baxışlar həmişə ən son datanı verir.
5. Sxem mviews yaratmaq üçün "maddiləşdirilmiş görünüş yaratmaq" imtiyazına, baxışlar üçün isə "görünüş yaratmaq" imtiyazına ehtiyac duyur.
6. Daha çox performans əldə etmək üçün indekslər mviews üzərində yaradıla bilər, lakin indekslər baxışlarda yaradıla bilməz.