Peržiūros ir materializuoto vaizdo skirtumas

Peržiūros ir materializuoto vaizdo skirtumas
Peržiūros ir materializuoto vaizdo skirtumas

Video: Peržiūros ir materializuoto vaizdo skirtumas

Video: Peržiūros ir materializuoto vaizdo skirtumas
Video: Марк Пейгл: Как язык изменил человечество 2024, Lapkritis
Anonim

Žiūrėti prieš materializuotą vaizdą

Rodiniai ir materializuoti rodiniai (mviews) yra dviejų tipų Oracle duomenų bazės objektai. Abu šie objektai nurodo pasirinktas užklausas. Šios pasirinkimo užklausos veikia kaip virtualios lentelės. Paprastai rodiniai ir mviews nurodo dideles pasirinkimo užklausas, turinčias sujungimų rinkinį. Todėl vienas iš pagrindinių rodinių privalumų yra tai, kad sudėtingas pasirinkimo užklausas galime saugoti kaip rodinius. Taigi galime paslėpti pasirinktų užklausų logiką nuo galutinių vartotojų. Kai mums reikia vykdyti sudėtingą pasirinkimo sakinį, tiesiog turime vykdyti

pasirinkiteiš rodinio pavadinimo

Žiūrėti

Kaip minėta anksčiau, rodinys yra virtuali lentelė, slepianti pasirinkimo užklausą. Šios pasirinkimo užklausos nėra iš anksto vykdomos. Kai vykdome pasirinkimo sakinį iš rodinio, jis vykdo pasirinkimo sakinį, esantį rodinio korpuse. Tarkime, kad pasirinktas rodinio korpuso teiginys yra labai sudėtingas teiginys. Taigi, kai jis vykdomas, jo vykdymas užtrunka šiek tiek laiko (santykinai daugiau laiko). Be to, rodinys naudoja labai mažai vietos, kad galėtų laikyti save. Taip yra todėl, kad jo turinys yra tik pasirinktas teiginys.

Materializuotas vaizdas (Mview)

Tai ypatingas rodinio tipas. Mviews sukuriamos, kai kyla problemų dėl rodinių. Kai sukuriame mview, jis vykdo pasirinkimo užklausą ir išsaugo išvestį kaip momentinių nuotraukų lentelę. Kai prašome duomenų iš „Mview“, jai nereikia iš naujo vykdyti pasirinkimo teiginio. Jis pateikia momentinės nuotraukos lentelės išvestį. Todėl „mview“vykdymo laikas yra trumpesnis nei „view“(tam pačiam „select“sakiniui). Tačiau mviews negalima naudoti visą laiką, nes rodoma ta pati išvestis, kuri saugoma kaip momentinių nuotraukų lentelė. Turėtume atnaujinti mview, kad gautume naujausią rezultatų rinkinį.

Kuo skiriasi „View“ir „Mview“?

1. „Mview“visada išsaugo savo išvestį kaip momentinių nuotraukų lentelę, kai ją sukuria, bet rodinys nesukuria jokių lentelių.

2. Rodiniui nereikia didelės vietos turiniui saugoti, tačiau „mview“turi santykinai daugiau vietos nei rodiniui, kad būtų galima saugoti turinį (kaip momentinių nuotraukų lentelę).

3. Rodinys paleidžiamas ilgiau, bet mview trunka trumpiau nei rodiniai (tam pačiam pasirinkimo sakiniui).

4. „Mviews“reikia atnaujinti, kad gautų naujausius duomenis, bet rodiniai visada pateikia naujausius duomenis.

5. Schema turi turėti „sukurti materializuotą rodinį“, kad būtų galima kurti mviews, o rodiniams – „sukurti rodinį“privilegija.

6. Rodyklės gali būti sukurtos naudojant mviews, kad būtų padidintas našumas, bet rodyklėse negalima sukurti rodyklės.

Rekomenduojamas: