OracleµÄÓÅ»¯Æ÷ÓÐÁ½ÖÖÓÅ»¯·½Ê½(¶þ)
15. /*+USE_CONCAT*/
¶Ô²éѯÖеÄWHEREºóÃæµÄORÌõ¼þ½øÐÐת»»ÎªUNION ALLµÄ×éºÏ²éѯ. (ã¶®°¡,ÏÈ´æ×Å)
ÀýÈç:
select /*+use_concat */ * from emp where deptno=10 OR empno=7788;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=2 Bytes=174)
1 0 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=2 Bytes=174)
16. /*+NO_EXPAND*/
¶ÔÓÚWHEREºóÃæµÄOR »òÕßIN-LISTµÄ²éѯÓï¾ä,
NO_EXPAND½«×èÖ¹Æä»ùÓÚÓÅ»¯Æ÷¶ÔÆä½øÐÐÀ©Õ¹.
SELECT /*+NO_EXPAND*/ * from EMP WHERE DEPTNO=10 AND job='MANAGER';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=87)
1 0 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=1 Bytes=87)
17. /*+NOWRITE*/
½ûÖ¹¶Ô²éѯ¿éµÄ²éÑ¯ÖØÐ´²Ù×÷.
18. /*+REWRITE*/
¿ÉÒÔ½«ÊÓͼ×÷Ϊ²ÎÊý.
19. /*+MERGE(TABLE)*/
Äܹ»¶ÔÊÓͼµÄ¸÷¸ö²éѯ½øÐÐÏàÓ¦µÄºÏ²¢.
20. /*+NO_MERGE(TABLE)*/
¶ÔÓÚÓпɺϲ¢µÄÊÓͼ²»Ôٺϲ¢.
21. /*+ORDERED*/
¸ù¾Ý±í³öÏÖÔÚfromÖеÄ˳Ðò,ORDEREDʹORACLEÒÀ´Ë˳Ðò¶ÔÆäÁ¬½Ó.
SELECT /*+ORDERED*/ D.DNAME, E.ENAME,E.SAL from EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=5 Card=82 Bytes=4510)
1 0 HASH JOIN (Cost=5 Card=82 Bytes=4510)
2 1 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=82 Bytes=2706)
3 1 TABLE ACCESS (FULL) OF 'DEPT' (Cost=2 Card=82 Bytes=1804)
¶Ò»»ÏÂEMPºÍDEPTµÄ˳Ðò,µÃµ½
SELECT /*+ORDERED*/ D.DNAME, E.ENAME,E.SAL from DEPT D, EMP E WHERE E.DEPTNO=D.DEPTNO;
Execution Plan
--------------------
Ïà¹ØÎĵµ£º
»ùÓÚOCI ʵÏÖµÄ ×î¸ßЧdump³ÌÐò£¬ ±ÈOTL ÒÔ¼°ÆäËûµÄ½Ó¿Ú¶¼¿ìºÜ¶à
ÄÜÖ´ÐÐÈκÎsql , ×Ô¶¯Ê¶±ð×Ö¶ÎÃûºÍ×Ö¶ÎÀàÐÍ£¬½øÐÐÊä³öÊä³ö
/*
* oracle_dump.cpp
*
* Created on: 2010-2-1
* Author: clm971910@gmail.com
*
* ѹËõ
* 4216351 dump done
* ÍêÕû 106 Ãë
* д·Ö¸ô·û 8Ãë
* ѹËõд´Å ......
Oracleµ÷ÕûÓëSQL Óï¾äµÄµ÷ÓŵĹØÏµ
ÔÚOracleµ÷ÕûÖÐÎÒÃÇ»¹»áÉæ¼°µ½SQL Óï¾äµÄµ÷ÓÅ£¬ÎÒÃǽÓÏÂÀ´¾ÍÀ´¿´ÒÔÏ嵀 SQL Óï¾äµÄµ÷ÓÅ¡£ÎÒÃǶ¼ÖªµÀ Oracle ÖÐµÄ SQL µ÷ÓÅÊÇÒ»¸öÏ൱¸´ÔÓµÄÖ÷Ì⣬ÉõÖÁÊÇÐèÒªÕû±¾ÊéÀ´½éÉÜ Oracle SQL µ÷ÓŵÄϸ΢²î±ð¡£
²»¹ýÓÐһЩ»ù±¾µÄ¹æÔòÊÇÿ¸ö Oracle DBA ¶¼ÐèÒª¸ú´ÓµÄ£¬ÕâЩ¹æÔò¿ÉÒÔ¸ÄÉÆËûÃÇϵͳµÄ ......
²Ù×÷²½ÖèÈçÏ£¬¹©²Î¿¼¡£
Êý¾Ý¿âתÐ͹¤×÷Éæ¼°µÄ¹¤×÷ÊÂÏî·ÖÎö£º±í£¬±íÊý¾Ý£¬Ë÷Òý£¬Íâ¼üÔ¼Êø£¬×Ö¶ÎĬÈÏÖµ¡£
´æ´¢¹ý³Ì¡¢º¯Êý¡¢´¥·¢Æ÷¡¢ÊÓͼµÈÓÉÓÚÓï·¨´æÔÚ²îÒ죬ֻÄÜ×ÔÐиÄд´¦Àí¡£
(Ò»)ÔÚMS SQL SERVER·þÎñÆ÷¶ËµÄ×¼±¸¹¤×÷¡£
1).´´½¨¹ØÓÚ±í¡¢ÊÓͼ¡¢Ö÷¼ü¡¢Ë÷Òý¡¢×Ö¶Î×ֵ䡢ĬÈÏÖµÔ¼ÊøµÄ¶ÔÏóÊÓͼ¡£ÒÔ·½±ãÏÂÒ»²½ ......
Êýѧº¯Êý
¡¡¡¡1.¾ø¶ÔÖµ
¡¡¡¡S:select abs(-1) value
¡¡¡¡O:select abs(-1) value from dual
¡¡¡¡2.È¡Õû(´ó)
¡¡¡¡S:select ceiling(-1.001) value
¡¡¡¡O:select ceil(-1.001) value from dual
¡¡¡¡3.È¡Õû£¨Ð¡£©
¡¡¡¡S:select floor(-1.001) value
¡¡¡¡O:select floor(-1.001) value from dual
¡¡¡¡4.È¡Õ ......
Ò»¡¢ ³£ÓÃÈÕÆÚÊý¾Ý¸ñʽ
1.Y»òYY»òYYY ÄêµÄ×îºóһ룬Á½Î»»òÈýλ
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from ......