oracle HINTS µÄʹÓÃ
Õª×ÔÐìÓñ½ðµÄ<<sqlÐÔÄܵĵ÷Õû-×ܽá>>
ÈçºÎʹÓÃhints:
HintsÖ»Ó¦ÓÃÔÚËüÃÇËùÔÚsqlÓï¾ä¿é(statement block£¬ÓÉselect¡¢update¡¢delete¹Ø¼ü×Ö±êʶ)ÉÏ£¬¶ÔÆäËüSQLÓï¾ä»òÓï¾äµÄÆäËü²¿·ÖûÓÐÓ°Ïì¡£È磺¶ÔÓÚʹÓÃunion²Ù×÷µÄ2¸ösqlÓï¾ä£¬Èç¹ûÖ»ÔÚÒ»¸ösqlÓï¾äÉÏÓÐhints£¬Ôò¸Ãhints²»»áÓ°ÏìÁíÒ»¸ösqlÓï¾ä¡£
ÎÒÃÇ¿ÉÒÔʹÓÃ×¢ÊÍ(comment)À´ÎªÒ»¸öÓï¾äÌí¼Óhints£¬Ò»¸öÓï¾ä¿éÖ»ÄÜÓÐÒ»¸ö×¢ÊÍ£¬¶øÇÒ×¢ÊÍÖ»ÄÜ·ÅÔÚSELECT, UPDATE, or DELETE¹Ø¼ü×ֵĺóÃæ
ʹÓÃhintsµÄÓï·¨£º
{DELETE|INSERT|SELECT|UPDATE} /*+ hint [text] [hint[text]]... */
or
{DELETE|INSERT|SELECT|UPDATE} --+ hint [text] [hint[text]]...
×¢½â£º
1) DELETE¡¢INSERT¡¢SELECTºÍUPDATEÊDZêʶһ¸öÓï¾ä¿é¿ªÊ¼µÄ¹Ø¼ü×Ö£¬°üº¬ÌáʾµÄ×¢ÊÍÖ»ÄܳöÏÖÔÚÕâЩ¹Ø¼ü×ֵĺóÃæ£¬·ñÔòÌáʾÎÞЧ¡£
2) “+”ºÅ±íʾ¸Ã×¢ÊÍÊÇÒ»¸öhints£¬¸Ã¼ÓºÅ±ØÐëÁ¢¼´¸úÔÚ”/*”µÄºóÃæ£¬Öм䲻ÄÜÓпոñ¡£
3) hintÊÇÏÂÃæ½éÉܵľßÌåÌáʾ֮һ£¬Èç¹û°üº¬¶à¸öÌáʾ£¬Ôòÿ¸öÌáʾ֮¼äÐèÒªÓÃÒ»¸ö»ò¶à¸ö¿Õ¸ñ¸ô¿ª¡£
4) text ÊÇÆäËü˵Ã÷hintµÄ×¢ÊÍÐÔÎı¾
Èç¹ûÄãûÓÐÕýÈ·µÄÖ¸¶¨hints£¬Oracle½«ºöÂÔ¸Ãhints£¬²¢ÇÒ²»»á¸ø³öÈκδíÎó¡£
ʹÓÃÈ«Ì×µÄhints£º
µ±Ê¹ÓÃhintsʱ£¬ÔÚijЩÇé¿öÏ£¬ÎªÁËÈ·±£ÈÃÓÅ»¯Æ÷²úÉú×îÓŵÄÖ´Ðмƻ®£¬ÎÒÃÇ¿ÉÄÜÖ¸¶¨È«Ì×µÄhints¡£ÀýÈ磬Èç¹ûÓÐÒ»¸ö¸´ÔӵIJéѯ£¬°üº¬¶à¸ö±íÁ¬½Ó£¬Èç¹ûÄãֻΪij¸ö±íÖ¸¶¨ÁËINDEXÌáʾ(ָʾ´æÈ¡Â·¾¶ÔڸñíÉÏʹÓÃË÷Òý)£¬ÓÅ»¯Æ÷ÐèÒªÀ´¾ö¶¨ÆäËüÓ¦¸ÃʹÓõķÃÎÊ·¾¶ºÍÏàÓ¦µÄÁ¬½Ó·½·¨¡£Òò´Ë£¬¼´Ê¹Äã¸ø³öÁËÒ»¸öINDEXÌáʾ£¬ÓÅ»¯Æ÷¿ÉÄܾõµÃûÓбØÒªÊ¹ÓøÃÌáʾ¡£ÕâÊÇÓÉÓÚÎÒÃÇÈÃÓÅ»¯Æ÷Ñ¡ÔñÁËÆäËüÁ¬½Ó·½·¨ºÍ´æÈ¡Â·¾¶£¬¶ø»ùÓÚÕâЩÁ¬½Ó·½·¨ºÍ´æÈ¡Â·¾¶£¬ÓÅ»¯Æ÷ÈÏΪÓû§¸ø³öµÄINDEXÌáʾÎÞÓá£ÎªÁË·ÀÖ¹ÕâÖÖÇé¿ö£¬ÎÒÃÇҪʹÓÃÈ«Ì×µÄhints£¬È磺²»µ«Ö¸¶¨ÒªÊ¹ÓõÄË÷Òý£¬¶øÇÒÒ²Ö¸¶¨Á¬½ÓµÄ·½·¨ÓëÁ¬½ÓµÄ˳ÐòµÈ¡£
ÏÂÃæÊÇÒ»¸öʹÓÃÈ«Ì×hintsµÄÀý×Ó£¬ORDEREDÌáʾָ³öÁËÁ¬½ÓµÄ˳Ðò£¬¶øÇÒΪ²»Í¬µÄ±íÖ¸¶¨ÁËÁ¬½Ó·½·¨£º
SELECT /*+ ORDERED INDEX (b, jl_br_balances_n1) USE_NL (j b)
USE_NL (glcc glf) USE_MERGE (gp gsb) */
b.application_id, b.set_of_books_id ,
b.personnel_id, p.vendor_id Personnel,
p.segment1 PersonnelNumber, p.vendor_name Name
fr
Ïà¹ØÎĵµ£º
OracleÈÕÆÚº¯Êý¼¯½õ(Ò»)
Ò»¡¢ ³£ÓÃÈÕÆÚÊý¾Ý¸ñʽ
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_ch ......
ÓÐÁ½ÖÖº¬ÒåµÄ±í´óС¡£Ò»ÖÖÊÇ·ÖÅä¸øÒ»¸ö±íµÄÎïÀí¿Õ¼äÊýÁ¿£¬¶ø²»¹Ü¿Õ¼äÊÇ·ñ±»Ê¹Ó᣿ÉÒÔÕâÑù²éѯ»ñµÃ×Ö½ÚÊý£º
select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
»òÕß
Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name
ÁíÒ»ÖÖ±íʵ¼ÊÊ¹Ó ......
1.¼à¿ØÊÂÀýµÄµÈ´ý£º
select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*)
from v$session_wait
group by event order by 4;
2.»Ø¹ö¶ÎµÄÕùÓÃÇé¿ö£º
select name,waits,gets,waits/gets ratio from v$rollstat a,v$rollnam ......
¿ªÊ¼ÔÚmyeclipse6.5ÖÐDB BROWERн¨ÁËÒ»¸öÊý¾Ý¿âÁ¬½Ó£¬Èçͼ£º
Ò»Á¬½Ó£¬±¨³öÁËÁ½¸ö´íÎó£º
1. ORA-00604 error occurred at recursive SQL level string.
2.ORA-12705: invalid or unknown NLS parameter value.
²é×ÊÁϺó½â¾ö£¨ÆÚ¼äÎÒ»¹¸Ä¹ýtestÓû§µÄÁ¬½ÓȨÏÞ£©£º
½«MyEclipseÖÐeclipseĿ¼ÏµÄeclipse.iniÎļþ£¬° ......
Oracle±íµÄ¹ÜÀí
±íÃûºÍÁÐÃûµÄÃüÃû¹æÔò£º
1±ØÐëÒÔ×Öĸ¿ªÍ·
2³¤¶È²»Äܳ¬¹ý30¸ö×Ö·û
3²»ÄÜʹÓÃOracleµÄ±£Áô×Ö
4Ö»ÄÜʹÓÃÈçÏÂ×Ö·û£ºA-Z,a-z,0-9,$,#µÈ
OracleÖ§³ÖµÄÊý¾ÝÀàÐÍ£º
1char ¶¨³¤£¬×î´ó2000×Ö·û
Àý×Ó£ºchar(10) ‘Ïþ»Ô’ ǰËĸö×Ö·û·Å’Ïþ»Ô’£¬ºóÌíÁù¸ö¿Õ¸ñ²¹È«
2varchar2(20) ±ä³¤£¬×î´ ......