sql >> Databáze >  >> RDS >> Oracle

Co jsou materializované pohledy?

Jistě.

Normální pohled je dotaz, který definuje virtuální tabulku – data ve skutečnosti v tabulce nemáte, vytvoříte je za běhu spuštěním.

Materializované zobrazení je zobrazení, kde se dotaz spustí a data se uloží do skutečné tabulky.

Data v materializovaném pohledu se obnoví, když jim to řeknete.

Několik případů použití:

  • Máme několik instancí Oracle, kde chceme mít kmenová data v jedné instanci a přiměřeně aktuální kopii dat v ostatních instancích. Nechceme předpokládat, že databázová propojení mezi nimi budou vždy funkční. Nastavili jsme tedy materializované pohledy na ostatní instance pomocí dotazů jako select a,b,c from [email protected] a řekněte jim, aby se denně obnovovali.

  • Materializované pohledy jsou také užitečné při přepisování dotazů. Řekněme, že máte v datovém skladu tabulku faktů s každou knihou, která byla kdy vypůjčena z knihovny, s daty a půjčovateli. A tento personál chce pravidelně vědět, kolikrát byla kniha vypůjčena. Poté vytvořte materializované zobrazení jako select book_id, book_name, count(*) as borrowings from book_trans group by book_id, book_name , nastavte ji na libovolnou frekvenci aktualizací, kterou chcete – obvykle frekvenci aktualizací pro samotný sklad. Nyní, když někdo spustí takovýto dotaz pro konkrétní knihu proti book_trans tabulka, schopnost přepisování dotazů v Oracle bude dostatečně chytrá na to, aby se podívala na materializovaný pohled, místo aby procházela miliony řádků v book_trans .

Zhmotněné pohledy obvykle vytváříte z důvodů výkonu a stability – nespolehlivé sítě nebo dlouhé dotazy mimo pracovní dobu.



  1. Vyhledejte v databázi Microsoft SQL Server uložená data

  2. zálohování a obnovení mysqldump na vzdálený server

  3. mysql odstranit v nouzovém režimu

  4. Rails 3.1 - Pushing to Heroku - Chyby při instalaci postgres adaptéru?