تفاوت بین نمایش و نمای مادی

تفاوت بین نمایش و نمای مادی
تفاوت بین نمایش و نمای مادی

تصویری: تفاوت بین نمایش و نمای مادی

تصویری: تفاوت بین نمایش و نمای مادی
تصویری: HTC One X vs Apple iPhone 4S 2024, نوامبر
Anonim

مشاهده در مقابل نمای مادی شده

Views و views materialized (mviews) دو نوع شی پایگاه داده اوراکل هستند. هر دوی این اشیاء به پرس و جوهای انتخابی اشاره می کنند. این پرس و جوهای انتخاب شده به عنوان جداول مجازی عمل می کنند. معمولا نماها و mviewها به پرس و جوهای انتخابی بزرگی اشاره می کنند که دارای مجموعه ای از اتصالات هستند. بنابراین، یکی از مزیت های اصلی view ها این است که می توانیم پرس و جوهای انتخابی پیچیده را به عنوان نما ذخیره کنیم. از این رو، می‌توانیم منطق پشت پرسش‌های انتخابی را از کاربران نهایی آن پنهان کنیم. زمانی که باید دستور انتخاب پیچیده را اجرا کنیم، فقط بایدرا اجرا کنیم.

انتخاباز viewname

مشاهده

همانطور که قبلا ذکر شد، view یک جدول مجازی است که یک جستجوی انتخابی را پنهان می کند.این پرس و جوهای انتخابی از قبل اجرا نشده اند. وقتی دستور select را از یک view اجرا می کنیم، دستور select را که داخل بدنه view است اجرا می کند. اجازه دهید دستور select بدنه view را به عنوان یک دستور بسیار پیچیده فرض کنیم. بنابراین زمانی که اجرا می شود، مدتی طول می کشد تا اجرا شود (زمان نسبتاً بیشتری). علاوه بر این، View از فضای بسیار کوچکی برای ذخیره خود استفاده می کند. دلیل آن این است که محتوای آن فقط یک عبارت انتخابی دارد.

نمای مادی (Mview)

این یک نوع نمای خاص است. Mview ها زمانی ایجاد می شوند که مشکلات عملکردی با view ها داشته باشیم. هنگامی که یک mview ایجاد می کنیم، کوئری انتخابی خود را اجرا می کند و خروجی خود را به عنوان یک جدول فوری ذخیره می کند. زمانی که از Mview داده درخواست می کنیم، نیازی به اجرای مجدد دستور Select خود ندارد. خروجی را از جدول عکس فوری خود می دهد. بنابراین، زمان اجرای mview کمتر از view است (برای همان دستور select). با این حال، mviews را نمی توان همیشه استفاده کرد، زیرا خروجی یکسانی را نشان می دهد که به عنوان یک جدول فوری ذخیره می شود.ما باید mview را به‌روزرسانی کنیم تا آخرین مجموعه نتایج آن را دریافت کنیم.

تفاوت بین View و Mview چیست؟

1. Mview همیشه هنگام ایجاد جدول خروجی خود را به عنوان یک جدول فوری ذخیره می کند، اما view هیچ جدولی ایجاد نمی کند.

2. View برای ذخیره محتوای خود به فضای بزرگی نیاز ندارد، اما mview برای ذخیره محتوای خود (به عنوان یک جدول فوری) به فضای نسبتاً بزرگتری نسبت به نمای نیاز دارد.

3. View زمان اجرای بزرگ‌تری می‌گیرد، اما mview زمان اجرای کمتری نسبت به viewها (برای همان عبارت انتخابی) طول می‌کشد.

4. برای دریافت آخرین داده‌های آن، Mviewها باید به‌روزرسانی شوند، اما بازدیدها همیشه آخرین داده‌های خود را ارائه می‌دهند.

5. طرحواره برای ایجاد mview به امتیاز «ایجاد نمای مادی‌شده» و برای نماها به امتیاز «ایجاد نمای» نیاز دارد.

6. نمایه‌ها را می‌توان روی mviews ایجاد کرد تا عملکرد بیشتری به دست آورد، اما شاخص‌ها را نمی‌توان روی viewها ایجاد کرد.

توصیه شده: