Skirtumas Tarp Vaizdo Ir Materializuoto Rodinio

Skirtumas Tarp Vaizdo Ir Materializuoto Rodinio
Skirtumas Tarp Vaizdo Ir Materializuoto Rodinio

Video: Skirtumas Tarp Vaizdo Ir Materializuoto Rodinio

Video: Skirtumas Tarp Vaizdo Ir Materializuoto Rodinio
Video: FTP (File Transfer Protocol), SFTP, TFTP Explained. 2024, Lapkritis
Anonim

Rodinys ir materializuotas vaizdas

Rodiniai ir materializuoti rodiniai („mviews“) yra dviejų tipų „Oracle“duomenų bazės objektai. Abu šie objektai nurodo pasirinktas užklausas. Šios pasirinktos užklausos veikia kaip virtualios lentelės. Paprastai rodiniuose ir peržiūrose nurodomos didelės pasirinktos užklausos, kurios turi sujungimus. Todėl vienas pagrindinių peržiūrų pranašumų yra tai, kad sudėtingas pasirinktas užklausas galime laikyti kaip rodinius. Taigi galime paslėpti pasirinktų užklausų logiką nuo jos galutinių vartotojų. Kai mums reikia vykdyti sudėtingą išrinktą sakinį, tiesiog turime vykdyti

pasirinkite * iš rodinio pavadinimo

Vaizdas

Kaip minėta anksčiau, „view“yra virtuali lentelė, slepianti pasirinktą užklausą. Šios pasirinktos užklausos nėra iš anksto vykdomos. Kai vykdome pasirinktą sakinį iš rodinio, jis vykdo pasirinktą sakinį, esantį rodinio korpuse. Tarkime, kad pasirinktas rodinio kūno teiginys yra labai sudėtingas teiginys. Taigi, kai jis vykdomas, jo vykdymui reikia šiek tiek laiko (palyginti daugiau laiko). Be to, „View“naudoja labai mažą erdvę sau laikyti. Taip yra todėl, kad jo turinys yra tik pasirinktas teiginys.

Materializuotas vaizdas („Mview“)

Tai yra specialus vaizdo tipas. Vaizdai yra kuriami, kai turime problemų dėl peržiūrų. Kai sukuriame „mview“, ji vykdo pasirinktą užklausą ir išsaugo išvestį kaip momentinės nuotraukos lentelę. Kai prašome duomenų iš „Mview“, jam nereikia iš naujo vykdyti pasirinkto sakinio. Tai pateikia išvestinę iš momentinės nuotraukos lentelės. Todėl „mview“vykdymo laikas yra mažesnis nei rodinio (tam pačiam pasirinktam sakiniui). Tačiau „mviews“negalima naudoti visą laiką, nes jis rodo tą patį išvestį, kuris saugomas kaip momentinių vaizdų lentelė. Turėtume atnaujinti „mview“, kad gautume naujausią rezultatų rinkinį.

Kuo skiriasi „View“ir „Mview“?

1. „Mview“, kai ji sukuriama, visada išsaugo savo išvestį kaip momentinių vaizdų lentelę, tačiau rodinys nesukuria jokių lentelių.

2. Rodiniui nereikia didelės erdvės jo turiniui laikyti, tačiau „mview“reikia palyginti didesnės vietos nei rodiniui, kad būtų galima laikyti jo turinį (kaip momentinės nuotraukos lentelę).

3. Rodinys užima ilgesnį vykdymo laiką, tačiau „mview“reikalauja mažesnio vykdymo laiko nei rodiniai (tam pačiam pasirinktam sakiniui).

4. Norint gauti naujausius duomenis, vaizdus reikia atnaujinti, tačiau rodiniai visada pateikia naujausius duomenis.

5. Schemai reikalinga privilegija „sukurti materializuotą vaizdą“, kad būtų sukurtos peržiūros, o rodiniams - „sukurti vaizdą“privilegija.

6. Norint gauti daugiau rezultatų, rodiniuose galima sukurti „mviews“, tačiau rodinių negalima.

Rekomenduojama: