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
)
ÓÐÁËÕâ¸
Ïà¹ØÎĵµ£º
¹ØÓÚOracleÖÐ×Ö·û´®µÄ˵Ã÷
×Ö·û´®
OracleÖÐÓÐËÄÖÖ»ù±¾µÄ×Ö·û´®ÀàÐÍ,·Ö±ðÊÇchar¡¢varchar2¡¢ncharºÍnvarchar2¡£ÔÚOracleÖУ¬ËùÓд®¶¼ÒÔͬÑùµÄ¸ñʽ´æ´¢¡£ÔÚÊý¾Ý¿éÓÐÒ»¸ö1~3×ֽڵij¤¶È×ֶΣ¬Æäºó²ÅÊÇÊý¾Ý£¬Èç¹ûÊý¾ÝλNULL£¬³¤¶È×Ö¶ÎÔò±íʾΪһ¸öµ¥×Ö½ÚÖµ0xFF.
Èç¹û´®µÄ³¤¶ÈСÓÚ»òµÈÓÚ250£¨0x01~0xFA),Oracle»áʹÓÃ1¸ö×Ö½ÚÀ´ ......
Ò»¡¢³£ÓÃÓï·¨ --1. ɾ³ý±íʱ¼¶ÁªÉ¾³ýÔ¼Êø
drop table ±íÃû cascade constraint
--2. µ±¸¸±íÖеÄÄÚÈݱ»É¾³ýºó£¬×Ó±íÖеÄÄÚÈÝÒ²±»É¾³ý
on delete casecade
--3. ÏÔʾ±íµÄ½á¹¹
desc ±íÃû
--4. ´´½¨ÐµÄÓû§
create user [username] identified by [password]
--5. ¸øÓû§·ÖÅäȨÏÞ
grant ȨÏÞ1¡¢È¨ÏÞ2...to Óû§ ......
µ±ÄãÔÚÊý¾Ý¿âÖд´½¨Êý¾Ý±íµÄʱºò£¬ÄãÐèÒª¶¨Òå±íÖÐËùÓÐ×ֶεÄÀàÐÍ¡£ORACLEÓÐÐí¶àÖÖÊý¾ÝÀàÐÍÒÔÂú×ãÄãµÄÐèÒª¡£Êý¾ÝÀàÐÍ´óÔ¼·ÖΪ£ºcharacter, number, date, LOB, ºÍRAWµÈÀàÐÍ¡£ËäÈ»ORACLE8iÒ²ÔÊÐíÄã×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬µ«ÊÇËüÃÇÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍ¡£ÔÚÏÂÃæµÄÎÄÕÂÖÐÄ㽫Á˽⵽ËûÃÇÔÚoracle ÖеÄÓ÷¨¡¢ÏÞÖÆÒÔ¼°ÔÊÐíÖµ¡£
¡¡¡¡
¡¡¡¡ ......
oracleµÄÕýÔò±í´ïʽ(regular expression)¼òµ¥½éÉÜ
Ŀǰ£¬ÕýÔò±í´ïʽÒѾÔںܶàÈí¼þÖеõ½¹ã·ºµÄÓ¦Ó㬰üÀ¨*nix£¨Linux, UnixµÈ£©£¬HPµÈ²Ù×÷ϵͳ£¬PHP£¬C#£¬JavaµÈ¿ª·¢»·¾³¡£
Oracle 10gÕýÔò±í´ïʽÌá¸ßÁËSQLÁé»îÐÔ¡£ÓÐЧµÄ½â¾öÁËÊý¾ÝÓÐЧÐÔ£¬ ÖØ¸´´ÊµÄ±æÈÏ, Î޹صĿհ׼ì²â£¬»òÕß·Ö½â¶à¸öÕýÔò×é³É
µÄ×Ö·û´®µÈÎÊÌâ¡£
Orac ......
ÔÚOracleµÄQuery RewriteÖÐÖ÷ÒªÓÐÈýµã, µÚÒ»ÊÇҪʹÓÃCBO; µÚ¶þÊÇÒªÉèÖÃquery rewrite enabled²ÎÊýΪTRUE; µÚÈýÊÇÒªÏÈÔñÉèÖÃquery rewrite integrity²ÎÊýµÄÖµ(stale_tolerated, trusted, enforced). ¶ÔÓÚµÚÒ»µã, ÎÒÃÇ×îºÃanalyzeÏà¹ØµÄ±í¼°Ë÷Òý¼°MV; ¶ÔÓÚµÚ¶þµã,Õâ¸ö²ÎÊýÖ»ÓÐÁ½¸öÖµ(true, false), ºÜ¼òµ ......