ORACLEÎﻯÊÓͼ Query RewriteµÄÒ»°ãÀí½âÖ®Îå
¶ÔÓÚÒ»¸ö¸ø¶¨µÄSQL, ºÍÏÖÓеÄMVIEW, Õâ¸öSQL¿ÉÄܱ»Rewrite, Ò²¿ÉÄܲ»Äܱ»Rewrite, ÈçºÎÕÒ³öÕâÆäÖеÄÔÒòÄØ, ¿¿¾Ñé¿ÉÒÔ½â¾öһЩÎÊÌâ, ²»¹ýËù»¨µÄʱ¼ä¾ÍÒª³¤Ò»µãÁË. ÆäʵÔÚOracleÖÐÌṩÁËÒ»¸öº¯Êý¿ÉÒÔÓÃÓÚ½âÊÍΪʲôij¸öSQL²»Äܱ»ÖØд, Õâ¸ö¹ý³ÌλÓÚdbms_mviewÕâ¸ö°üÖÐ, ¹ý³ÌÃûΪexplain_rewrite, ÓÐÁËÕâ¸ö¹¤¾ß, ¿ÉÒÔ¿ìËÙµØÕÒ³öΪʲô²»Äܱ»ÖØд, ҪʹÓÃÕâ¸ö¹ý³Ì, ÄãÐèÒªÊÂÏÈ´´½¨Ò»¸ö±íREWRITE_TABLE, ¿ÉÒÔͨ¹ý@?/rdbms/admin/utlxrw.sqlÀ´´´½¨.
CREATE TABLE REWRITE_TABLE
(
statement_id VARCHAR2(30), -- id for the query
mv_owner VARCHAR2(30), -- owner of the MV
mv_name VARCHAR2(30), -- name of the MV
sequence INTEGER, -- sequence no of the error msg
query VARCHAR2(2000),-- user query
message VARCHAR2(512), -- EXPLAIN_REWRITE error msg
pass VARCHAR2(3), -- rewrite pass no
flags INTEGER, -- associated flags
reserved1 INTEGER, -- currently not used
reserved2 VARCHAR2(10) -- currently not used
)
ÓÐÁËÕâ¸
Ïà¹ØÎĵµ£º
µÚÒ»¿Î£º¿Í»§¶Ë
1. Sql Plus(¿Í»§¶Ë£©£¬ÃüÁîÐÐÖ±½ÓÊäÈ룺sqlplus£¬È»ºó°´ÌáʾÊäÈëÓû§Ãû£¬ÃÜÂë¡£
2. ´Ó¿ªÊ¼³ÌÐòÔËÐÐ:sqlplus£¬ÊÇͼÐΰæµÄsqlplus.
3. http://localhost:5560/isqlplus
Toad£º¹ÜÀí£¬ PlSql Developer:
µÚ¶þ¿Î£º¸ü¸ÄÓû§
1. sqlplus sys/bjsxt as sysdba
2. alter user scott account unlock;(½âËø)
......
MViewÖØÒªÊÓͼÔÚÔ´Êý¾Ý¿â¶ËµÄÏà¹ØÊÓͼDBA_BASE_TABLE_MVIEWSDBA_REGISTERED_MVIEWSDBA_MVIEW_LOGSÔÚMViewÊý¾Ý¿â¶ËµÄÏà¹ØÊÓͼDBA_MVIEWSDBA_MVIEW_REFRESH_TIMESDBA_REFRESHºÍDBA_REFRESH_CHILDRENMViewÏà¹Ø°üһЩMViewά»¤µÄÏà¹ØÎÊÌâSNAPSHOT vs. Materialized ViewÇåÀíÎÞЧµÄMView Log²éѯMView LogµÄ´óС¼ì²éMVµÄˢмæ ......
DECODEº¯ÊýÏ൱ÓÚÒ»Ìõ¼þÓï¾ä(IF).Ëü½«ÊäÈëÊýÖµÓ뺯ÊýÖеIJÎÊýÁбíÏà±È½Ï£¬¸ù¾ÝÊäÈëÖµ·µ»ØÒ»¸ö¶ÔÓ¦Öµ¡£º¯ÊýµÄ²ÎÊýÁбíÊÇÓÉÈô¸ÉÊýÖµ¼°Æä¶ÔÓ¦½á¹ûÖµ×é³ÉµÄÈô¸ÉÐòżÐÎʽ¡£µ±È»£¬Èç¹ûδÄÜÓëÈκÎÒ»¸öʵ²ÎÐòżƥÅä³É¹¦£¬Ôòº¯ÊýÒ²ÓÐĬÈϵķµ»ØÖµ¡£Çø±ðÓÚSQLµÄÆäËüº¯Êý£¬DECODEº¯Êý»¹ÄÜʶ±ðºÍ²Ù×÷¿ÕÖµ.
Æä¾ßÌåµÄÓï·¨¸ñʽÈçÏ£º
DE ......
¿ÉÒÔ¿´µ½MVIEWÔÚQuery RewriteÖеÄÖØÒªÐÔ, ÒªÔÚʵ¼ÊÓ¦ÓÃÖÐʹÓÃ, ¾ÍµÃÖªµÀËüµÄºÜ¶à·½Ãæ, ÆäÖÐË¢ÐÂÊÇ×îÖ÷ÒªµÄ:
1, MVIEWÈÕÖ¾µÄ½¨Á¢
2, »ã×ÜÐ͵ÄMIVEWµÄË¢ÐÂ
3, JOINÀàÐ͵ÄMVIEWµÄË¢ÐÂ
4, ¸ü¸´ÔÓµÄMVIEWµÄË¢ÐÂ
5, ·ÖÇøʱµÄMVIEWµÄË¢ÐÂ
ÔÚÕâ¶ùÎÒÃÇÖ÷ÒªÌÖÂÛµÄÊÇÈçºÎʵÏÖFastË¢ÐÂ, ·ñÔòûÓжàÉ ......