oracle 10G ÎﻯÊÓͼÐÂÌØÐÔ(²âÊÔЧ¹û²»ÀíÏë)
http://mrhaozi.itpub.net/post/41048/495175
ÎﻯÊÓͼ
ÀûÓÃÇ¿ÖÆ²éÑ¯ÖØÐ´ºÍеÄÇ¿´óµÄµ÷Õû¹ËÎʳÌÐò — ËüÃÇʹÄú²»ÔÙÐèҪƾ²Â²â½øÐй¤×÷ — µÄÒýÈ룬ÔÚ 10g ÖйÜÀíÎﻯÊÓͼ±äµÃ¸ü¼ÓÈÝÒ×
ÎﻯÊÓͼ (MV) — Ò²³ÆÎª¿ìÕÕ — Ò»¶Îʱ¼äÀ´ÒѾ¹ã·ºÊ¹Óá£MV ÔÚÒ»¸ö¶ÎÖд洢²éѯ½á¹û£¬²¢ÇÒÄܹ»ÔÚÌá½»²éѯʱ½«½á¹û·µ»Ø¸øÓû§£¬´Ó¶ø²»ÔÙÐèÒªÖØÐÂÖ´Ðвéѯ — ÔÚ²éѯҪִÐм¸´Îʱ£¨ÕâÔÚÊý¾Ý²Ö¿â»·¾³Öзdz£³£¼û£©£¬ÕâÊÇÒ»¸öºÜ´óµÄºÃ´¦¡£ÎﻯÊÓͼ¿ÉÒÔÀûÓÃÒ»¸ö¿ìËÙˢлúÖÆ´Ó»ù´¡±íÖÐÈ«²¿»òÔöÁ¿Ë¢Ð¡£
¼Ù¶¨ÄúÒѾ¶¨ÒåÁËÒ»¸öÎﻯÊÓͼ£¬ÈçÏ£º
create materialized view mv_hotel_resv
refresh fast
enable query rewrite
as
select distinct city, resv_id, cust_name
from hotels h, reservations r
where r.hotel_id = h.hotel_id';
ÄúÈçºÎ²ÅÄÜÖªµÀÒѾΪÕâ¸öÎﻯÊÓͼ´´½¨ÁËÆäÕý³£¹¤×÷Ëù±ØÐèµÄËùÓжÔÏó£¿ÔÚ Oracle Êý¾Ý¿â 10g ֮ǰ£¬ÕâÊÇÓà DBMS_MVIEW ³ÌÐò°üÖÐµÄ EXPLAIN_MVIEW ºÍEXPLAIN_REWRITE ¹ý³ÌÀ´Åжϵġ£ÕâЩ¹ý³Ì£¨ÔÚ 10g ÖÐÈÔÈ»Ìṩ£©·Ç³£¼òÒªµØËµÃ÷Ò»ÖÖÌØ¶¨µÄ¹¦ÄÜ — Èç¿ìËÙˢй¦ÄÜ»ò²éÑ¯ÖØÐ´¹¦ÄÜ — ¿ÉÄÜÓÃÓÚÉÏÊöµÄÎﻯÊÓͼ£¬µ«²»ÌṩÈçºÎʵÏÖÕâЩ¹¦ÄܵĽ¨Òé¡£Ïà·´£¬ÐèÒª¶Ôÿһ¸öÎﻯÊÓͼµÄ½á¹¹½øÐÐÄ¿ÊÓ¼ì²é£¬ÕâÊǷdz£²»Êµ¼ÊµÄ¡£
ÔÚ 10g ÖУ¬Ð嵀 DBMS_ADVISOR ³ÌÐò°üÖеÄÒ»¸öÃûΪ TUNE_MVIEW µÄ¹ý³ÌʹµÃÕâÏ×÷±äµÃ·Ç³£ÈÝÒ×£ºÄúÀûÓà IN ²ÎÊýÀ´µ÷ÓóÌÐò°ü£¬Õâ¹¹ÔìÁËÎﻯÊÓͼ´´½¨½Å±¾µÄÈ«²¿ÄÚÈÝ¡£¸Ã¹ý³Ì´´½¨Ò»¸ö¹ËÎʳÌÐòÈÎÎñ (Advisor Task)£¬ËüÓµÓÐÒ»¸öÌØ¶¨µÄÃû³Æ£¬½öÀûÓà OUT ²ÎÊý¾ÍÄܹ»°ÑÕâ¸öÃû³Æ´«»Ø¸øÄú¡£
ÏÂÃæÊÇÒ»¸öÀý×Ó¡£ÒòΪµÚÒ»¸ö²ÎÊýÊÇÒ»¸ö OUT ²ÎÊý£¬ËùÒÔÄúÐèÒªÔÚ SQL*Plus Öж¨ÒåÒ»¸ö±äÁ¿À´±£´æËü¡£
SQL> -- Ê×Ïȶ¨ÒåÒ»¸ö±äÁ¿À´±£´æ OUT ²ÎÊý
SQL> var adv_name varchar2(20)
SQL> begin
2 dbms_advisor.tune_mview
3 (
4 :adv_name,
5 'create materialized view mv_hotel_resv refresh fast enable query rewrite as
select distinct city, resv_id, cust_name from hotels h,
reservations r where r.hotel_id = h.hotel_id');
6* end;
ÏÖÔÚÄú¿ÉÒÔÔڸñäÁ¿ÖÐÕÒ³ö¹ËÎʳÌÐòµÄÃû³Æ¡£
SQL> print adv_name
ADV_NAME
------------
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
ºÜ¶àÅóÓÑÒªÎÒ°ïÃ¦ÍÆ¼öÒ»ÏÂOracleµÄÈëÃÅÊé¼®£¬Äܹ»Á˽âOracleµÄ»ù±¾¸ÅÄî¡¢»ù±¾ÖªÊ¶µÄÄÇÖÖ¡£
ÎÒ¾ÍÃâΪÆäÄÑ£¬ÍƼö¼¸±¾¡£
Ê×ÏÈÎÒÏëÇ¿µ÷µÄÒ»µãÊÇ£¬ÈκÎÒ»±¾ÏµÍ³µÄOracleÊé¼®Ö»ÒªÈÏÕæ¶ÁÏÂÀ´£¬¶¼»áÓв»´íµÄÊÕ»ñ£¬¶ÁÊé×î¼É»äµÄÊÇ»¢Í·Éßβ£¬Ç³³¢ÔòÖ¹¡£
1.µÚÒ»±¾ÒªÍƼö¸ø´ó¼ÒµÄÊÇOracleµÄ¸ÅÄîÊֲᣬÕâ±¾ÊÖ²áÊÇÎÞÊýDBAѧϰµÄÆðµã£ ......
Êø£¬Ë÷Òý
1¡¢²éÕÒ±íµÄËùÓÐË÷Òý£¨°üÀ¨Ë÷ÒýÃû£¬ÀàÐÍ£¬¹¹³ÉÁУ©£º
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = Òª²éѯµÄ±í
2¡¢²éÕÒ±íµÄÖ÷¼ü£¨°üÀ¨Ãû³Æ£¬¹¹³ÉÁУ©£º
select cu.* from user_cons_columns cu ......
1¡£select * from a where a.rowid=(select min(b.rowid) from b where a.id=b.id);
create test1(
nflowid number primary key,
ndocid number,
drecvdate date);
insert into test1 values (1, 12301, sysdate) ;
insert into test1 values (2, 12301, sysdate);
select * from test1 order by drecvdate:
......
¶ÔÏó³Ö¾Ã»¯£¬Ò²¾ÍÊÇ¿ÉÒÔ°ÑÕâ¸ö¶ÔÏóÓÀÔ¶µÄ±£´æÆðÀ´£¬ÕâÀïµÄ±£´æ²»½öÊǶÔÏó±¾Éí£¬»¹°üÀ¨ËûµÄÊôÐÔºÍËùÒÀÀµµÄÆäËûÀࡣͨ³££¬¶ÔÏó¿ÉÒԳ־û¯µ½Îļþ»òÕßÊÇÊý¾Ý¿âÖС£ÎÒÕâÀïÖ»½éÉÜÈçºÎ½«¶ÔÏó´æ´¢µ½Êý¾Ý¿âÖС£Ç¡ÇÉOracleÊý¾Ý¿âΪÎÒÃÇÌṩÁËÕâÑùµÄ·½±ã¡£
ÔÚOracleÖУ¬ÓÐÒ»ÖÖblogµÄ×Ö¶ÎÀàÐÍ£¬ËüÊÇÓÃÀ´´æ´¢´óÁ¿µÄ¶ ......