OracleÓï¾äÓÅ»¯£µ£³¸ö¹æÔòÏê½â
OracleÓï¾äÓÅ»¯£µ£³¸ö¹æÔòÏê½â(1)
Oracle sql ÐÔÄÜÓÅ»¯µ÷Õû 1. Ñ¡ÓÃÊʺϵÄORACLEÓÅ»¯Æ÷
ORACLEµÄÓÅ»¯Æ÷¹²ÓÐ3ÖÖ£º
a. RULE £¨»ùÓÚ¹æÔò£©
b. COST £¨»ùÓڳɱ¾£©
c. CHOOSE £¨Ñ¡ÔñÐÔ£©
ÉèÖÃȱʡµÄÓÅ»¯Æ÷£¬¿ÉÒÔͨ¹ý¶Ôinit.oraÎļþÖÐOPTIMIZER_MODE²ÎÊýµÄ¸÷ÖÖÉùÃ÷£¬ÈçRULE£¬COST£¬CHOOSE£¬ALL_ROWS£¬FIRST_ROWS . Ä㵱ȻҲÔÚSQL¾ä¼¶»òÊǻỰ£¨session£©¼¶¶ÔÆä½øÐи²¸Ç¡£
ΪÁËʹÓûùÓڳɱ¾µÄÓÅ»¯Æ÷£¨CBO£¬ Cost-Based Optimizer£© £¬ Äã±ØÐë¾³£ÔËÐÐanalyze ÃüÁÒÔÔö¼ÓÊý¾Ý¿âÖеĶÔÏóͳ¼ÆÐÅÏ¢£¨object statistics£©µÄ׼ȷÐÔ¡£
Èç¹ûÊý¾Ý¿âµÄÓÅ»¯Æ÷ģʽÉèÖÃΪѡÔñÐÔ£¨CHOOSE£©£¬ÄÇôʵ¼ÊµÄÓÅ»¯Æ÷ģʽ½«ºÍÊÇ·ñÔËÐйýanalyzeÃüÁîÓйء£ Èç¹ûtableÒѾ±»analyze¹ý£¬ ÓÅ»¯Æ÷ģʽ½«×Ô¶¯³ÉΪCBO £¬ ·´Ö®£¬Êý¾Ý¿â½«²ÉÓÃRULEÐÎʽµÄÓÅ»¯Æ÷¡£
ÔÚȱʡÇé¿öÏ£¬ORACLE²ÉÓÃCHOOSEÓÅ»¯Æ÷£¬ÎªÁ˱ÜÃâÄÇЩ²»±ØÒªµÄÈ«±íɨÃ裨full table scan£© £¬ Äã±ØÐ뾡Á¿±ÜÃâʹÓÃCHOOSEÓÅ»¯Æ÷£¬¶øÖ±½Ó²ÉÓûùÓÚ¹æÔò»òÕß»ùÓڳɱ¾µÄÓÅ»¯Æ÷¡£
2. ·ÃÎÊTableµÄ·½Ê½ORACLE ²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½£º
a. È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼¡£ ORACLE²ÉÓÃÒ»´Î¶ÁÈë¶à¸öÊý¾Ý¿é£¨database block£©µÄ·½Ê½ÓÅ»¯È«±íɨÃè¡£
b. ͨ¹ýROWID·ÃÎʱí
Äã¿ÉÒÔ²ÉÓûùÓÚROWIDµÄ·ÃÎÊ·½Ê½Çé¿ö£¬Ìá¸ß·ÃÎʱíµÄЧÂÊ£¬ ROWID°üº¬Á˱íÖмǼµÄÎïÀíλÖÃÐÅÏ¢……ORACLE²ÉÓÃË÷Òý£¨INDEX£©ÊµÏÖÁËÊý¾ÝºÍ´æ·ÅÊý¾ÝµÄÎïÀíλÖã¨ROWID£©Ö®¼äµÄÁªÏµ¡£ ͨ³£Ë÷ÒýÌṩÁË¿ìËÙ·ÃÎÊROWIDµÄ·½·¨£¬Òò´ËÄÇЩ»ùÓÚË÷ÒýÁеIJéѯ¾Í¿ÉÒԵõ½ÐÔÄÜÉϵÄÌá¸ß¡£
3. ¹²ÏíSQLÓï¾ä
ΪÁ˲»Öظ´½âÎöÏàͬµÄSQLÓï¾ä£¬ÔÚµÚÒ»´Î½âÎöÖ®ºó£¬ ORACLE½«SQLÓï¾ä´æ·ÅÔÚÄÚ´æÖС£Õâ¿éλÓÚϵͳȫ¾ÖÇøÓòSGA£¨system global area£©µÄ¹²Ïí³Ø£¨shared buffer pool£©ÖеÄÄÚ´æ¿ÉÒÔ±»ËùÓеÄÊý¾Ý¿âÓû§¹²Ïí¡£ Òò´
Ïà¹ØÎĵµ£º
insert into
select * into t_dest from t_src; -- ÒªÇóÄ¿±ê±í²»´æÔÚ
insert into t_dest(a, b) select a, b from t_src; -- ÒªÇóÄ¿±ê±íÒÑ´æÔÚ
¶¯Ì¬SQL
execute immediate ......
1¡¢ Í£Ö¹oracleËùÓеķþÎñ£¨¿ªÊ¼--ÔËÐÐ--ÊäÈëservices.msc£©
2¡¢ ɾ³ý×¢²á±íÉϵÄORACLEµÄÓйؼüÖµ(¿ªÊ¼-->ÔËÐÐ-->ÊäÈëregedit£©½«HKEY_LOACAL_MACHINE/SOFTWAREϵÄÖ÷¼üORACLEÈ«²¿É¾³ý¡£
3. ÏÂÃæÉ¾³ýOracle·þÎñ£º½øÈëHKEY_LOACAL_MACHINE/SYSTEMÖ÷¼üÏ£¬ÔÚControlSet001¡¢ControlSet002¡¢CurrentControlSet--> ......
SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2.CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ×Ö·û;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
......
80¡£LAST
¹¦ÄÜÃèÊö£º´ÓDENSE_RANK·µ»ØµÄ¼¯ºÏÖÐÈ¡³öÅÅÔÚ×îºóÃæµÄÒ»¸öÖµµÄÐУ¨¿ÉÄܶàÐУ¬ÒòΪֵ¿ÉÄÜÏàµÈ£©£¬Òò´ËÍêÕûµÄÓï·¨ÐèÒªÔÚ¿ªÊ¼´¦¼ÓÉÏÒ»¸ö¼¯ºÏº¯ÊýÒÔ´ÓÖÐÈ¡³ö¼Ç¼
SAMPLE£ºÏÂÃæÀý×ÓÖÐDENSE_RANK°´²¿ÃÅ·ÖÇø£¬ÔÙ°´Ó¶½ðcommission_pctÅÅÐò£¬FIRSTÈ¡³öÓ¶½ð×îµÍµÄ¶ÔÓ¦µÄËùÓÐÐУ¬È»ºóÇ°ÃæµÄMAXº¯Êý´ÓÕâ¸ö¼¯ºÏÖÐÈ¡³öнˮ×îµ ......
Ê×ÏÈÒÔsysdbaÉí·ÝµÇ¼
sqlplus connect system/orcl as sysdba;
È»ºóÐ޸IJÎÊý
1.sga_target²»ÄÜ´óÓÚsga_max_size£¬¿ÉÒÔÉèÖÃΪÏàµÈ¡£
2.SGA¼ÓÉÏPGAµÈÆäËû½ø³ÌÕ¼ÓõÄÄÚ´æ×ÜÊý±ØÐëСÓÚ²Ù×÷ϵͳµÄÎïÀíÄÚ´æ¡£
alter system set sga_target=150M scope=spfile;
alter system set sga_max_size=150M scope=spfile;
//Êý¾Ý¿â ......