oracleÎﻯÊÓͼ
ÎﻯÊÓͼÊÇÒ»ÖÖÌØÊâµÄÎïÀí±í£¬“Îﻯ”(Materialized)ÊÓͼÊÇÏà¶ÔÆÕͨÊÓͼ¶øÑԵġ£ÆÕͨÊÓͼÊÇÐéÄâ±í£¬Ó¦ÓõľÖÏÞÐÔ´ó£¬ÈκζÔÊÓͼµÄ²éѯ£¬Oracle¶¼Êµ¼ÊÉÏת»»ÎªÊÓͼSQLÓï¾äµÄ²éѯ¡£ÕâÑù¶ÔÕûÌå²éѯÐÔÄܵÄÌá¸ß£¬²¢Ã»ÓÐʵÖÊÉϵĺô¦¡£
1¡¢ÎﻯÊÓͼµÄÀàÐÍ£ºON DEMAND¡¢ON COMMIT
¶þÕßµÄÇø±ðÔÚÓÚˢз½·¨µÄ²»Í¬£¬ON DEMAND¹ËÃû˼Ò壬½öÔÚ¸ÃÎﻯÊÓͼ“ÐèÒª”±»Ë¢ÐÂÁË£¬²Å½øÐÐË¢ÐÂ(REFRESH)£¬¼´¸üÐÂÎﻯÊÓͼ£¬ÒÔ±£Ö¤ºÍ»ù±íÊý¾ÝµÄÒ»ÖÂÐÔ£»¶øON COMMITÊÇ˵£¬Ò»µ©»ù±íÓÐÁËCOMMIT£¬¼´ÊÂÎñÌá½»£¬ÔòÁ¢¿ÌˢУ¬Á¢¿Ì¸üÐÂÎﻯÊÓͼ£¬Ê¹µÃÊý¾ÝºÍ»ù±íÒ»Ö¡£
2¡¢ON DEMANDÎﻯÊÓͼ
ÎﻯÊÓͼµÄ´´½¨±¾ÉíÊǺܸ´ÔÓºÍÐèÒªÓÅ»¯²ÎÊýÉèÖõģ¬ÌرðÊÇÕë¶Ô´óÐÍÉú²úÊý¾Ý¿âϵͳ¶øÑÔ¡£µ«OracleÔÊÐíÒÔÕâÖÖ×î¼òµ¥µÄ£¬ÀàËÆÓÚÆÕͨÊÓͼµÄ·½Ê½À´×ö£¬ËùÒÔ²»¿É±ÜÃâµÄ»áÉæ¼°µ½Ä¬ÈÏÖµÎÊÌâ¡£Ò²¾ÍÊÇ˵Oracle¸øÎﻯÊÓͼµÄÖØÒª¶¨Òå²ÎÊýµÄĬÈÏÖµ´¦ÀíÊÇÎÒÃÇÐèÒªÌرð×¢ÒâµÄ¡£
ÎﻯÊÓͼµÄÌص㣺
(1) ÎﻯÊÓͼÔÚijÖÖÒâÒåÉÏ˵¾ÍÊÇÒ»¸öÎïÀí±í(¶øÇÒ²»½ö½öÊÇÒ»¸öÎïÀí±í)£¬Õâͨ¹ýÆä¿ÉÒÔ±»user_tables²éѯ³öÀ´£¬¶øµÃµ½×ôÖ¤£»(2) ÎﻯÊÓͼҲÊÇÒ»ÖÖ¶Î(segment)£¬ËùÒÔÆäÓÐ×Ô¼ºµÄÎïÀí´æ´¢ÊôÐÔ£»(3) ÎﻯÊÓͼ»áÕ¼ÓÃÊý¾Ý¿â´ÅÅ̿ռ䣬Õâµã´Óuser_segmentµÄ²éѯ½á¹û£¬¿ÉÒԵõ½×ôÖ¤£»
´´½¨Óï¾ä£ºcreate materialized view mv_name as select * from table_name
ĬÈÏÇé¿öÏ£¬Èç¹ûûָ¶¨Ë¢Ð·½·¨ºÍË¢ÐÂģʽ£¬ÔòOracleĬÈÏΪFORCEºÍDEMAND¡£
ÎﻯÊÓͼµÄÊý¾ÝÔõôËæ×Å»ù±í¶ø¸üУ¿
OracleÌṩÁËÁ½ÖÖ·½Ê½£¬ÊÖ¹¤Ë¢ÐºÍ×Ô¶¯Ë¢Ð£¬Ä¬ÈÏΪÊÖ¹¤Ë¢Ð¡£Ò²¾ÍÊÇ˵£¬Í¨¹ýÎÒÃÇÊÖ¹¤µÄÖ´ÐÐij¸öOracleÌṩµÄϵͳ¼¶´æ´¢¹ý³Ì»ò°ü£¬À´±£Ö¤ÎﻯÊÓͼÓë»ù±íÊý¾ÝÒ»ÖÂÐÔ¡£ÕâÊÇ×î»ù±¾µÄˢа취ÁË¡£×Ô¶¯Ë¢Ð£¬ÆäʵҲ¾ÍÊÇOracle»á½¨Á¢Ò»¸öjob£¬Í¨¹ýÕâ¸öjobÀ´µ÷ÓÃÏàͬµÄ´æ´¢¹ý³Ì»ò°ü£¬¼ÓÒÔʵÏÖ¡£
ON DEMANDÎﻯÊÓͼµÄÌØÐÔ¼°ÆäºÍON COMMITÎﻯÊÓͼµÄÇø±ð£¬¼´Ç°Õß²»Ë¢ÐÂ(ÊÖ¹¤»ò×Ô¶¯)¾Í²»¸üÐÂÎﻯÊÓͼ£¬¶øºóÕß²»Ë¢ÐÂÒ²»á¸üÐÂÎﻯÊÓͼ£¬——Ö»Òª»ù±í·¢ÉúÁËCOMMIT¡£
3¡¢ON COMMITÎﻯÊÓͼ
ON COMMITÎﻯÊÓͼµÄ´´½¨£¬ºÍÉÏÃæ´´½¨ON DEMANDµÄÎﻯÊÓͼÇø±ð
Ïà¹ØÎĵµ£º
auhtor£ºskate
time£º2010/03/03
oracle³éÈ¡º¯Êý
½ñÌìÅóÓÑÎʸöÎÊÌ⣬ÈçºÎ³éȡʱ¼äµÄ“Сʱ”
oracleµÄ³éÈ¡º¯ÊýÊÇ extrac()Óï·¨:
SELECT EXTRACT(YEAR from SYSDATE) from DUAL; return Current Year
SELECT EXTRACT(MONTH from SYSDATE) from DUAL; return Current Month
SELECT EXTRACT(DAY from SYSDA ......
Ò»¡¢ÐèÒª²éѯµÄÊý¾Ý
1
¡¢²éѯ³öÔÂн´óÓÚ
'SMITH'
µÄËùÓÐÔ±¹¤×ÊÁÏ
select *from emp where
sal>(select sal from emp where name="SMITH");
2
¡¢²éѯËùÓÐÔ±¹¤µÄÐÕÃû¼°Áìµ¼ÐÕÃû
select e1.ename,e2.ename from
emp e1,emp e2 where e1.mgr=e2.empno(+);
3
......
p580 ÎÄƽ
³£¼ûÎÊÌâÒ»:°º¹óµÄÊý¾Ý¿âÁ¬½Ó¿ªÏú
ÔÚÓ¦Óÿª·¢ÖУ¬¿Í»§¶ËΪÁËijÖÖÊý¾Ý¿â²Ù×÷¶ø½øÐÐijÖÖÊý¾Ý¿âÁ¬½ÓºÍ¶Ï¿ªµÄ²Ù×÷¡£ÕâÊÇ2000ÄêÇ°ºó¶¯Ì¬ÍøÒ³Ó¦ÓÃÀàÐͳ£¼ûµÄ´íÎó¡£ÔÚÕâÖÖÓ¦ÓÃÖУ¬Ã¿µ±Ò»¸öÓû§µ¥»÷Ò»¸öÍøÒ³£¬Èç¹ûÕâ¸öÍøҳǶÈëÁËÊý¾Ý¿â²Ù×÷£¬Ôò¸ÃÍøÒ³Òª½øÐÐÒ»´Î»òÈô¸É´ÎµÄÊý¾Ý¿âÁ¬½ÓºÍ¶Ï¿ª¡ ......
1.DUAL±íµÄÓÃ;
Dual ÊÇ OracleÖеÄÒ»¸öʵ¼Ê´æÔÚµÄ±í£¬ÈκÎÓû§¾ù¿É¶ÁÈ¡£¬³£ÓÃÔÚûÓÐÄ¿±ê±íµÄSelectÓï¾ä¿éÖÐ
--²é¿´µ±Ç°Á¬½ÓÓû§
SQL> select user from dual;
USER
------------------------------
SYSTEM
--²é¿´µ±Ç°ÈÕÆÚ¡¢Ê±¼ä
SQL> select sysdate from dual;
SYSDATE
-----------
2007-1-2 ......
OracleÊý¾Ý¿â·ÖÇø±í²Ù×÷·½·¨
(2009-10-19 16:20:45)
±êÇ©£º
ÔÓ̸
ÕªÒª£ºÔÚ´óÁ¿ÒµÎñÊý¾Ý´¦ÀíµÄÏîÄ¿ÖУ¬ÄÜ¿¼ÂÇʹÓ÷ÖÇø±íÀ´Ìá¸ßÓ¦ÓÃϵͳµÄÐÔÄܲ¢·½±ãÊý¾Ý¹ÜÀí£¬±¾ÎÄÖÜÏê½éÉÜÁË·ÖÇø±íµÄʹÓá£
¡¡¡¡ÔÚ´óÐ͵ÄÆóÒµÓ¦ÓûòÆóÒµ¼¶µÄÊý¾Ý¿âÓ¦ÓÃÖУ¬Òª´¦ÀíµÄÊý¾ÝÁ¿Í¨³£ÄÜ´ïµ½¼¸Ê®µ½¼¸°ÙGB£¬ÓеÄÉõÖÁÄܵ½TB¼¶¡£ËäÈ»´æ´¢ ......