oracleË÷ÒýµÄÈÏʶ
Ë÷Òý( Index )Êdz£¼ûµÄÊý¾Ý¿â¶ÔÏó£¬ËüµÄÉèÖúûµ¡¢Ê¹ÓÃÊÇ·ñµÃµ±£¬¼«´óµØÓ°ÏìÊý¾Ý¿âÓ¦ÓóÌÐòºÍDatabase µÄÐÔÄÜ¡£ËäÈ»ÓÐÐí¶à×ÊÁϽ²Ë÷ÒýµÄÓ÷¨£¬ DBA ºÍ Developer ÃÇÒ²¾³£ÓëËü´ò½»µÀ£¬µ«±ÊÕß·¢ÏÖ£¬»¹ÊÇÓв»ÉÙµÄÈ˶ÔËü´æÔÚÎó½â£¬Òò´ËÕë¶ÔʹÓÃÖеij£¼ûÎÊÌ⣬½²Èý¸öÎÊÌâ¡£´ËÎÄËùÓÐʾÀýËùÓõÄÊý¾Ý¿âÊÇ Oracle 8.1.7 OPS on HP N series ,ʾÀýÈ«²¿ÊÇÕæÊµÊý¾Ý£¬¶ÁÕß²»ÐèҪעÒâ¾ßÌåµÄÊý¾Ý´óС£¬¶øÓ¦×¢ÒâÔÚʹÓò»Í¬µÄ·½·¨ºó£¬Êý¾ÝµÄ±È½Ï¡£±¾ÎÄËù½²»ù±¾¶¼Êdz´ÊÀĵ÷£¬µ«ÊDZÊÕßÊÔͼͨ¹ýʵ¼ÊµÄÀý×Ó£¬À´ÕæÕýÈÃÄúÃ÷°×ÊÂÇéµÄ¹Ø¼ü¡£
µÚÒ»½²¡¢Ë÷Òý²¢·Ç×ÜÊÇ×î¼ÑÑ¡Ôñ
Èç¹û·¢ÏÖOracle ÔÚÓÐË÷ÒýµÄÇé¿öÏ£¬Ã»ÓÐʹÓÃË÷Òý£¬Õâ²¢²»ÊÇOracle µÄÓÅ»¯Æ÷³ö´í¡£ÔÚÓÐЩÇé¿öÏ£¬Oracle ȷʵ»áÑ¡ÔñÈ«±íɨÃ裨Full Table Scan£©,¶ø·ÇË÷ÒýɨÃ裨Index Scan£©¡£ÕâЩÇé¿öͨ³£ÓУº
1. ±íδ×östatistics, »òÕß statistics ³Â¾É£¬µ¼Ö Oracle ÅжÏʧÎó¡£
2. ¸ù¾Ý¸Ã±íÓµÓеļǼÊýºÍÊý¾Ý¿éÊý£¬Êµ¼ÊÉÏÈ«±íɨÃèÒª±ÈË÷ÒýɨÃè¸ü¿ì¡£
¶ÔµÚ1ÖÖÇé¿ö£¬×î³£¼ûµÄÀý×Ó£¬ÊÇÒÔÏÂÕâ¾äsql Óï¾ä£º
select count(*) from mytable;
ÔÚδ×÷statistics ֮ǰ£¬ËüʹÓÃÈ«±íɨÃ裬ÐèÒª¶ÁÈ¡6000¶à¸öÊý¾Ý¿é£¨Ò»¸öÊý¾Ý¿éÊÇ8k£©, ×öÁËstatistics Ö®ºó£¬Ê¹ÓõÄÊÇ INDEX (FAST FULL SCAN) £¬Ö»ÐèÒª¶ÁÈ¡450¸öÊý¾Ý¿é¡£µ«ÊÇ£¬statistics ×öµÃ²»ºÃ£¬Ò²»áµ¼ÖÂOracle ²»Ê¹ÓÃË÷Òý¡£
µÚ2ÖÖÇé¿ö¾ÍÒª¸´Ôӵöࡣһ°ã¸ÅÄîÉ϶¼ÈÏΪË÷Òý±È±í¿ì£¬±È½ÏÄÑÒÔÀí½âʲôÇé¿öÏÂÈ«±íɨÃèÒª±ÈË÷ÒýɨÃè¿ì¡£ÎªÁ˽²Çå³þÕâ¸öÎÊÌ⣬ÕâÀïÏȽéÉÜÒ»ÏÂOracle ÔÚÆÀ¹ÀʹÓÃË÷ÒýµÄ´ú¼Û£¨cost£©Ê±Á½¸öÖØÒªµÄÊý¾Ý£ºCF(Clustering factor) ºÍ FF(Filtering factor).
CF: Ëùν CF, ͨË׵ؽ²£¬¾ÍÊÇÿ¶ÁÈëÒ»¸öË÷Òý¿é£¬Òª¶ÔÓ¦¶ÁÈë¶àÉÙ¸öÊý¾Ý¿é¡£
FF: Ëùν FF, ¾ÍÊǸÃsql Óï¾äËùÑ¡ÔñµÄ½á¹û¼¯£¬Õ¼×ܵÄÊý¾ÝÁ¿µÄ°Ù·Ö±È¡£
´óÔ¼µÄ¼ÆË㹫ʽÊÇ£ºFF * (CF + Ë÷Òý¿é¸öÊý) £¬Óɴ˹À¼Æ³ö£¬Ò»¸ö²éѯ£¬ Èç¹ûʹÓÃij¸öË÷Òý£¬»áÐèÒª¶ÁÈëµÄÊý¾Ý¿é
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
1.ÀûÓÃÏÂÃæµÄ½Å±¾´´½¨BOOK£¬READER ºÍ BORROW ±í£¬²¢Íê³ÉºóÃæµÄÁªÏµ¡£
CREATE TABLE BOOK(
NO CHAR(8) PRIMARY KEY,
TITLE VARCHAR2(50) NOT NULL,
AUTHOR VARCHAR2(20) ,
PUBLISH VARCHAR2(20),
PUB_DA ......
½éÉÜÒ»ÏÂÄÚÁª¡¢×óÁª¡¢ÓÒÁª
Ò».ÏÈ¿´Ò»Ð©×î¼òµ¥µÄÀý×Ó
Àý×Ó
Table A
aid adate
1 a1
2 a2
3 a3
TableB
bid bdate
1 b1
2 b2
4 b4
Á½¸ö±ía,bÏàÁ¬½Ó,Ҫȡ³öidÏàͬµÄ×Ö¶Î
select * from a inner join b on a.aid = b.bidÕâÊǽöÈ¡³öÆ¥ÅäµÄÊý¾Ý.
´ËʱµÄÈ¡³öµÄÊÇ:
1 a1 b1
2 a2 b2
ÄÇôleft join Ö¸:
select * ......
Ò»,INSERT
1.ΪÁ˲»´òÂÒÔÀ´µÄ±íµÄÊý¾Ý,ËùÒÔ±¸·ÝÔÀ´µÄÊý¾Ý.
create table emp2 as select * from emp
create table emp3 as select * from emp
create table dept2 as select * from dept
create table salgrade2 as select * from salgrade
2.²é¿´±íµÄÉè¼ÆÇé¿ö:desc dept2;±íʾ²é¿´±ídept2µÄÉè¼ÆÇé¿ö.
3.²åÈëÊý¾Ýµ ......
GROUPINGº¯Êý¿ÉÒÔ½ÓÊÜÒ»ÁУ¬·µ»Ø0»òÕß1¡£Èç¹ûÁÐֵΪ¿Õ£¬ÄÇôGROUPING()·µ»Ø1£»Èç¹ûÁÐÖµ·Ç¿Õ£¬ÄÇô·µ»Ø0¡£GROUPINGÖ»ÄÜÔÚʹÓÃROLLUP»òCUBEµÄ²éѯÖÐʹÓᣵ±ÐèÒªÔÚ·µ»Ø¿ÕÖµµÄµØ·½ÏÔʾij¸öֵʱ£¬GROUPING()¾Í·Ç³£ÓÐÓá£
¹ØÓÚROLLUPºÍCUBEº¯ÊýµÄʹÓã¬Çë²Î¼ûÎÒµÄÁíһƪÎÄÕ¡£
http://blog.csdn.net/wh62592855/archive/2009/1 ......