oracleº¯ÊýË÷ÒýС½á
º¯ÊýË÷ÒýµÄ¸ÅÄ
»ùÓÚº¯ÊýµÄË÷ÒýÒ²ÊÇ8iÒÔÀ´µÄвúÎËüÓÐË÷Òý¼ÆËãÁеÄÄÜÁ¦£¬ËüÒ×ÓÚʹÓò¢ÇÒÌṩ¼ÆËãºÃµÄÖµ£¬ÔÚ²»ÐÞ¸ÄÓ¦ÓóÌÐòµÄÂß¼ÉÏÌá¸ßÁ˲éѯÐÔÄÜ¡£Ê¹ÓûùÓÚº¯ÊýµÄË÷ÒýÓм¸¸öÏȾöÌõ¼þ£º
(1)
±ØÐëÓµÓÐQUERY REWRITE£¨±¾Ä£Ê½Ï£©»òGLOBAL QUERY REWRITE£¨ÆäËûģʽÏ£©È¨ÏÞ¡£
(2)
±ØÐëʹÓûùÓڳɱ¾µÄÓÅ»¯Æ÷£¬»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷½«±»ºöÂÔ¡£
(3)
±ØÐëÉèÖÃÒÔÏÂÁ½¸öϵͳ²ÎÊý£º
QUERY_REWRITE_ENABLED=TRUE
QUERY_REWRITE_INTEGRITY=TRUSTED
¿ÉÒÔͨ¹ýalter system set,alter session setÔÚϵͳ¼¶»òÏ̼߳¶ÉèÖã¬Ò²¿ÉÒÔͨ¹ýÔÚinit.oraÌí¼ÓʵÏÖ¡£
ÕâÀï¾ÙÒ»¸ö»ùÓÚº¯ÊýµÄË÷ÒýµÄÀý×Ó£º
º¯ÊýË÷Òý½¨Á¢¼°Êý¾Ý×¼±¸£º
SQL> create index test.ind_fun on test.testindex(upper(a));
Ë÷ÒýÒÑ´´½¨¡£
SQL> insert into testindex values('a',2);
ÒÑ´´½¨ 1 ÐС£
SQL> commit;
Ìá½»Íê³É¡£
Ç¿ÖÆÊ¹ÓûùÓÚ¹æÔòµÄÓÅ»¯Æ÷£¬ËùÒÔ²»»áʹÓú¯ÊýË÷Òý£º
SQL> select /*+ RULE*/* from test.testindex where upper(a)='A';
A¡¡¡¡ B
-- ----------
a¡¡¡¡ 2
Execution Plan
----------------------------------------------------------
0¡¡¡¡SELECT STATEMENT Optimizer=HINT: RULE
1 0 TABLE ACCESS (FULL) OF 'TESTINDEX'
(ÓÅ»¯Æ÷Ñ¡ÔñÁËÈ«±íɨÃè)
--------------------------------------------------------------------
ʹÓú¯ÊýË÷Òý£º
SQL> select * from test.testindex where upper(a)='A';
A¡¡¡¡ B
-- ----------
a¡¡¡¡ 2
Execution Plan
----------------------------------------------------------
0¡¡¡¡SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=5)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TESTINDEX' (Cost=2 Card=1 Bytes=5)
2 1 INDEX (RANGE SCAN) OF 'IND_FUN' (NON-UNIQUE) (Cost=1 Card=1)
(ʹÓÃÁËind_funË÷Òý)
´Ë´¦ÓÐÒ»ÖÖ·½°¸£¬²»Ê¹Óú¯ÊýË÷Òý£¬Í¨¹ýsqlÉϵļ¼ÇÉÀ´Ê¹ÓÃÔÓÐÁÐÉϵÄË÷Òý¡£²»¹ýÎÒ¾õµÃ»¹²»È罨Á¢º¯ÊýË÷ÒýÀ´µÄ·½±ã¡£
Ïà¹ØÎĵµ£º
1¡¢ÊýÖµÐͳ£Óú¯Êý
¡¡
¡¡º¯Êý¡¡¡¡·µ»ØÖµ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÑùÀý¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÔʾ
ceil(n) ´óÓÚ»òµÈÓÚÊýÖµnµÄ×îСÕûÊý¡¡¡¡select ceil(10.6) from dual; 11
floor(n) СÓÚµÈÓÚÊýÖµnµÄ×î´óÕûÊý¡¡ select ceil(10.6) from dual; 10
mod(m,n) m³ýÒÔnµÄÓàÊý,Èôn=0,Ôò·µ»Øm select mod(7,5) from dual; 2
p ......
oracle merge into Ó÷¨Ïê½â
2009-07-31 10:14
Oracle9iÒýÈëÁËMERGEÃüÁî,ÄãÄܹ»ÔÚÒ»¸öSQLÓï¾äÖжÔÒ»¸ö±íͬʱִÐÐinsertsºÍupdates²Ù×÷. MERGEÃüÁî´ÓÒ»¸ö»ò¶à¸öÊý¾ÝÔ´ÖÐÑ¡ÔñÐÐÀ´updating»òinsertingµ½Ò»¸ö»ò¶à¸ö±í.
Oracle 10gÖÐMERGEÓÐÈçÏÂһЩ¸Ä½ø£º
1¡¢UPDATE»òINSERT×Ó¾äÊÇ¿ÉÑ¡µÄ
2¡¢UPDATEºÍINSERT×Ó¾ä¿ÉÒÔ¼ÓWHERE ......
ÔÚʹÓÃtomcatʱ£¬Èç¹û±¾»ú×°ÔØÁËoracle£¬ÄÇôÊÇÎÞ·¨Æô¶¯µÄ£¬ÒòΪ8080¶Ë¿ÚÒѱ»Õ¼ÓÃÁË¡£µ±È»¿ÉÒÔͨ¹ýÐÞ¸Ä server.mxlµÄ¶Ë¿ÚºÅʹtomcatµÄ¶Ë¿Ú²»ÊÇ8080£¬ÎÒÃÇ»¹¿ÉÒÔÐÞ¸ÄoracleµÄweb·þÎñÆ÷µÄ¶Ë¿Ú£¬²½Ö裺
1£©£¬´ò¿ªoracleµÄsqlÃüÁîÊäÈë´°¿Ú
2£©£¬Á¬½Óµ½Oracle·þÎñÆ÷£¬ÓÃÃüÁîconn sys as SYSDBA
3£©£¬ÓÃÃûÁca ......
Oracleµ÷ÓÅ×ÛÊö
ÔÚ¹ýÈ¥µÄÊ®ÄêÖУ¬ Oracle ÒѾ³ÉΪÊÀ½çÉÏ×îרҵµÄÊý¾Ý¿âÖ®Ò»¡£¶ÔÓÚ IT ר¼ÒÀ´Ëµ£¬¾ÍÊÇҪȷ±£ÀûÓà Oracle µÄÇ¿´óÌØÐÔÀ´Ìá¸ßËûÃǹ«Ë¾µÄÉú²úÁ¦¡£×îÓÐЧµÄ·½·¨Ö®Ò»ÊÇͨ¹ý Oracle µ÷ÓÅ¡£ËüÓдóÁ¿µÄµ÷Õû²ÎÊýºÍ¼¼ÊõÀ´¸Ä½øÄãµÄ Oracle Êý¾Ý¿âµÄÐÔÄÜ¡£
Oracle µ÷ÓÅÊÇÒ»¸ö¸´ÔÓµÄÖ÷Ìâ¡£¹ØÓÚµ÷ÓÅ¿ ......