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 ......
Checkpoint
ºÜ¶àÈ˶¼°ÑcheckpointµÄ¸ÅÄî¸ø¸´ÔÓ»¯ÁË£¬ÆäʵcheckpointÕâ¸öÊý¾Ý¿â¸ÅÄîÒýÈëµÄÕæÕýÒâÒå¾ÍÊÇÓÃÀ´¼õÉÙÔÚÊý¾Ý¿â
»Ö¸´¹ý³ÌÖÐËù»¨µÄʱ¼ä(instance recovery),ÄÇôcheckpointÊÇÓÉËÀ´×öµÄÄØ?ÎÒÃǶ¼ÖªµÀÊý¾Ý¿âÖÐÓиöCKPT½ø³Ì£¬ÕâÊǸö
¿ÉÑ¡½ø³Ì£¬µ«ÊÇÕæÕýÖ´Ðмì²éµãµÄÈÎÎ ......
Êø£¬Ë÷Òý
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 ......
ÎﻯÊÓͼ¸ÅÊö
OracleµÄÎﻯÊÓͼÌṩÁËÇ¿´óµÄ¹¦ÄÜ£¬¿ÉÒÔÓÃÔÚ²»Í¬µÄ»·¾³ÖС£ÔÚ²»Í¬µÄ»·¾³ÖУ¬ÎﻯÊÓͼµÄ×÷ÓÃÒ²²»Ïàͬ¡£Êý¾Ý²Ö¿âÖеÄÎﻯÊÓͼÖ÷ÒªÓÃÓÚÔ¤ÏȼÆËã²¢±£´æ±íÁ¬½Ó»ò¾Û¼¯µÈºÄʱ½Ï¶àµÄ²Ù×÷µÄ½á¹û£¬ÕâÑù£¬ÔÚÖ´Ðвéѯʱ£¬¾Í¿ÉÒÔ±ÜÃâ½øÐÐÕâЩºÄʱµÄ²Ù×÷£¬¶ø´Ó¿ìËٵĵõ½½á¹û¡£ÔÚÊý¾Ý²Ö¿âÖУ¬»¹¾³£Ê¹ÓòéÑ¯ÖØÐ´£¨query r ......
ÏîÄ¿´ÓmysqlÇ¨ÒÆµ½ORACLEÖÐÓöµ½ÒÆÖ²ÎÊÌ⣬mysqlÖÐÖ§³Ölimit ¶øORACLE say no .
½â¾ö·½·¨ ÀûÓÃORACLEµÄαÁÐ rownumÀ´¿ØÖÆ¡£¡£
Mysql : select * from table limit 10
equl
ORACLE£º select * from table where rownum <= 10
ORACLE αÁнéÉÜ£º
ËæÊý¾Ý×ÖµäÒ»Æð×Ô¶¯´´½¨µÄÒ»¸ö±í,ÊôÓÚsysģʽ,ÈκÎÓû§¶¼¿ÉÒÔ·ÃÎÊ,&nbs ......