ORACLE 9i ͳ¼Æ±í
Õ⼸Ìì×öÏîÄ¿Óöµ½ÁËǧÍò¼¶±íµÄ´¦Àí£¬Ïà¹ØÓÅ»¯µÄÐĵÃÌØ¼Ç¼ÏÂÀ´£¬ÒÔǰÈÕºó²é¿´¡£
ÊÕ¼¯Í³¼Æ±íÐÅÏ¢ÓÐ2ÖÖ·½·¨£º
1: ANALYZE TABLE employees COMPUTE STATISTICS;
2: exec dbms_stats.gather_table_stats(ownname => 'owner_name',tabname => 'table_name' ,estimate_percent => null ,method_opt => 'for all indexed columns' ,cascade => true);
µÚ¶þÖÖ·½·¨¸üºÃ¶øÇÒ¸ü¼ÓÊʺϷÖÇø±í£¬¹ÊÈç¹ûÔÚÓÃÁ˵Ú1ÖÖ·½·¨Í³¼Æ±íÐÅÏ¢ºó·´ÕýSQL²éѯ±äÂýÁË£¬¿ÉÒÔɾ³ýÏà¹ØÍ³¼ÆÐÅÏ¢ºó¸ÄÓõڶþÖÖ·½Ê½£¬ÔÒòÈçÏ£º
×Ô´ÓOracle8.1.5ÒýÈëdbms_stats°ü£¬ExpertsÃDZãÍÆ¼öʹÓÃdbms_statsÈ¡´úanalyze¡£ ÀíÓÉÈçÏÂ
dbms_stats¿ÉÒÔ²¢ÐзÖÎö
dbms_statsÓÐ×Ô¶¯·ÖÎöµÄ¹¦ÄÜ(alter table monitor )
analyze ·ÖÎöͳ¼ÆÐÅÏ¢µÄ²»×¼È·some times
1,2ºÃÀí½â£¬ÇÒµÚ2µãʵ¼ÊÉÏÔÚVLDBÖÐÊÇ×îÎüÒýÈ˵ģ»3ÒÔǰ±È½ÏÄ£ºý£¬¿´ÁËmetalink236935.1 ½âÊÍ£¬analyzeÔÚ·ÖÎöPartition±íµÄʱºò£¬ÓÐʱºò»á¼ÆËã³ö²»×¼È·µÄGlobal statistics .
ÔÒòÊÇ£¬dbms_stats»áʵÔÚµÄÈ¥·ÖÎö±íÈ«¾Öͳ¼ÆÐÅÏ¢£¨µ±Ö¸¶¨²ÎÊý£©£»¶øanalyzeÊǽ«±í·ÖÇø£¨¾Ö²¿£©µÄstatistics »ã×ܼÆËã³É±íÈ«¾Östatistics ,¿ÉÄܵ¼ÖÂÎó²î¡£
Èç¹ûÏë·ÖÎöÕû¸öÓû§»òÊý¾Ý¿â£¬»¹¿ÉÒÔ²ÉÓù¤¾ß°ü£¬¿ÉÒÔ²¢ÐзÖÎö
Dbms_utility(8iÒÔǰµÄ¹¤¾ß°ü)
Dbms_stats(8iÒÔºóÌṩµÄ¹¤¾ß°ü)
Èç
dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
ÕâÊǶÔÃüÁîÓ빤¾ß°üµÄһЩ×ܽá
1¡¢¶ÔÓÚ·ÖÇø±í£¬½¨ÒéʹÓÃDBMS_STATS£¬¶ø²»ÊÇʹÓÃAnalyzeÓï¾ä¡£
a) ¿ÉÒÔ²¢ÐнøÐУ¬¶Ô¶à¸öÓû§£¬¶à¸öTable
b) ¿ÉÒԵõ½Õû¸ö·ÖÇø±íµÄÊý¾ÝºÍµ¥¸ö·ÖÇøµÄÊý¾Ý¡£
c) ¿ÉÒÔÔÚ²»Í¬¼¶±ðÉÏCompute Statistics£ºµ¥¸ö·ÖÇø£¬×Ó·ÖÇø£¬È«±í£¬ËùÓзÖÇø
d) ¿ÉÒÔµ¹³öͳ¼ÆÐÅÏ¢
e) ¿ÉÒÔÓû§×Ô¶¯ÊÕ¼¯Í³¼ÆÐÅÏ¢
2¡¢DBMS_STATSµÄȱµã
a) ²»ÄÜValidate Structure
b) ²»ÄÜÊÕ¼¯CHAINED ROWS, ²»ÄÜÊÕ¼¯CLUSTER TABLEµÄÐÅÏ¢£¬ÕâÁ½¸öÈÔ¾ÉÐèҪʹÓÃAnalyzeÓï¾ä¡£
c) DBMS_STATS ĬÈϲ»¶ÔË÷Òý½øÐÐAnalyze£¬ÒòΪĬÈÏCascadeÊÇFalse£¬ÐèÒªÊÖ¹¤Ö¸¶¨ÎªTrue
3¡¢¶ÔÓÚoracle 9ÀïÃæµÄExternal Table£¬Analyze²»ÄÜʹÓã¬Ö»ÄÜʹÓÃDBMS_STATSÀ´ÊÕ¼¯ÐÅÏ¢¡£
-----------------------------------------------------------------
10GµÄÎĵµÊÇÕ
Ïà¹ØÎĵµ£º
Ò».B-TreeË÷Òý(b-tree index)
1. Ñ¡ÏîÔñË÷Òý×ֶεÄÔÔò:
ÔÚWHERE×Ó¾äÖÐ×îÆµ·±Ê¹ÓõÄ×Ö¶Î
Áª½ÓÓï¾äÖеÄÁª½Ó×Ö¶Î
Ñ¡Ôñ¸ßÑ¡ÔñÐÔµÄ×Ö¶Î(Èç¹ûºÜÉÙµÄ×Ö¶ÎÓµÓÐÏàֵͬ,¼´Óкܶà¶ÀÌØÖµ,ÔòÑ¡ÔñÐԺܺÃ)
ORACLEÔÚUNIQUEºÍÖ÷¼ü×Ö¶ÎÉÏ×Ô¶¯½¨Á¢Ë÷Òý
ÔÚÑ¡ÔñÐԺܲîµÄ×Ö¶ÎÉϽ¨Ë÷ÒýÖ»ÓÐÔÚÕâ¸ö×Ö¶ÎµÄ ......
SqlÖÐÁ½¸ö“-”±íʾעÊ͵ĿªÊ¼¡£
Æ´½ÓÔËËã·û£º”||”,×¢Ò⣺ֻÓÐÔÚËùÓеÄÔËËã·ûΪnullʱ£¬Æ´½ÓµÄ½á¹ûÊÇnull¡£
±È½ÏÔËËã·ûÓÃÓڱȽÏÁ½¸öÖµ»ò±í´ïʽ£¬¸ø³öÒ»¸ö²¼¶ûÐ͵Ľá¹û true,false,null.
±È½ÏÔËËã·û£º
=
!= <> ^=
[not]in °üº¬
Any some ½«Ò»¸öÖµÓëÁбíÖеÄÿ¸öÖµ»òÕß ......
×î½üÔÚʹÓùý³ÌÖеķ¢ÏÖÁ¬½ÓÊý¾Ý¿âʱºÃʱ»µ£¬¾³£±¨TNSÒì³££¬ÔÚ¿ØÖÆÃæ°åÖÐÔÚ·þÎñÖн«tnsÕý³£Æô¶¯ºó£¬µ±Á¬½ÓÊý¾Ý¿âʱ·¢ÏÖtnsÓÖÍ£Ö¹ÁË¡£¿à¿àÔÚÍøÉÏËÑѰÁËÐí¶à£¬·¢ÏÖÍøÉÏÆÌÌì¸ÇµØµÄÈýÖÖ·½·¨£¬ÎÒÒ»Ò»ÊÔÁ˶¼Ã»ÓÐ×÷Óá£
ºóÀ´ÎÞÒâÖп´µ½Ò»Î»ÍøÓÑ˵Ëû³öÏÖ¹ýÏàͬµÄÎÊÌ⣬ÊÇÓÉÓÚ×°Á˸övpnÈí¼þ£¬ÕâʱµÄÎÒÉñ¾ÌرðÃô ......
ORACLEÖÕÓÚÔÚ10GÖÐÌṩÁ˶ÔÕýÔò±í´ïʽµÄÖ§³Ö£¬ÒÔǰÄÇЩÐèҪͨ¹ýLIKEÀ´½øÐеĸ´Ôӵį¥Åä¾Í¿ÉÒÔͨ¹ýʹÓÃÕýÔò±í´ïʽ¸ü¼òµ¥µÄʵÏÖ¡£
Oracle 10gÕýÔò±í´ïʽÌá¸ßÁËSQLÁé»îÐÔ¡£ÓÐЧµÄ½â¾öÁËÊý¾ÝÓÐЧÐÔ£¬ ÖØ¸´´ÊµÄ±æÈÏ, Î޹صĿհ׼ì²â£¬»òÕß·Ö½â¶à¸öÕýÔò×é³ÉµÄ×Ö·û´®µÈÎÊÌâ¡£
Oracle 10gÖ§³ÖÕýÔò±í´ïʽµÄË ......
select myFunc(²ÎÊý1,²ÎÊý2..) to dual; --¿ÉÒÔÖ´ÐÐһЩҵÎñÂß¼
Ò»:OracleÖеĺ¯ÊýÓë´æ´¢¹ý³ÌµÄÇø±ð:
A:º¯Êý±ØÐëÓзµ»ØÖµ,¶ø¹ý³ÌûÓÐ.
B:º¯Êý¿ÉÒÔµ¥¶ÀÖ´ÐÐ.¶ø¹ý³Ì±ØÐëͨ¹ýexecuteÖ´ÐÐ.
C:º¯Êý¿ÉÒÔǶÈëµ½SQLÓï¾äÖÐÖ´ÐÐ.¶ø¹ý³Ì²»ÐÐ.
ÆäʵÎÒÃÇ¿ÉÒÔ½«±È½Ï¸´ÔӵIJéѯд³Éº¯Êý.È»ºóµ½´æ´¢¹ý³ÌÖÐÈ¥µ÷ÓÃÕâЩº¯Êý.
¶þ:È ......