Oracle:Materializované pohľady

Z Betlista.net

Táto stránka ešte nie je úplne dokončená

Ako zistiť, či daný pohľad môže byť materializovaný s fast refresh'om? Vytvoríte daný pohľad materializovaný s refresh on demand a následne pomocou príkazov:

delete from mv_capabilities_table where MVNAME = Upper('MaterializedViewName');
EXEC dbms_mview.explain_mview('MaterializedViewName'); 
commit; -- ja som potreboval robiť komit, pretože som to púšťal v inej session

SELECT MVNAME, capability_name, possible, substr(msgtxt,1,150) AS msgtxt, MSGNO, SEQ, related_text
  FROM mv_capabilities_table
 WHERE capability_name like '%FAST%' and MVNAME = Upper('MaterializedViewName');

Informácie o materializovaných pohľadoch sa dajú získať zo *_snapshot (pretože sa v predchádzajúcich verziách Oracle'u jednalo o snímky - snapshot) tabuliek, napr. pre získanie poslednej aktualizácie (refresh):

select To_Char(s.Last_refresh, 'YYYY-MM-DD HH24:MI:SS') from user_snapshots

Odkazy:

  • Oracle FAQ's - odtiaľ pochádza inšpirácia pre tento článok