ÎÒÃǽøÐÐSQLÓÅ»¯Ê±£¬¾³£»áÅöµ½¶Ô´óÁ¿Êý¾Ý¼¯½øÐÐÅÅÐò£¬È»ºó´ÓÅÅÐòºóµÄ¼¯ºÏȡǰ²¿·Ö½á¹ûµÄÐèÇó£¬ÕâÖÖÇé¿öÏ£¬µ±ÎÒÃǰ´ÕÕ³£¹æË¼Â·È¥Ð´SQLʱ£¬ÏµÍ³»áÏȶÁÈ¡¹ýÂË»ñµÃËùÓм¯ºÏ£¬È»ºó½øÐÐÅÅÐò£¬ÔÙ´ÓÅÅÐò½á¹ûÈ¡³ö¼«ÉÙÁ¿½á¹û£¬Õâ¸ö¹ý³ÌÖУ¬´óÁ¿Êý¾ÝµÄɨÃè¶ÁÈ¡¡¢¹ýÂË¡¢ÅÅÐò»áÏûºÄµô´óÁ¿µÄϵͳ×ÊÔ´£¬SQLÐÔÄÜÒ²»á´æÔںܴóµÄÎÊÌ⣬ʵ¼ùÖУ¬¼¸·ÖÖÓÄËÖÁ¼¸¸öСʱ²»³ö½á¹ûµÄÇé¿öºÜ³£¼û¡£ÎªÁËÓÅ»¯ÕâÖÖ³¡¾°µÄSQL£¬ÎÒÃǾ³£»áÈòéѯ˳ÐòɨÃ轨ÔÚÅÅÐòÁÐÉϵÄË÷Òý£¬Òѱܿª´óÁ¿µÄÊý¾Ý¶ÁÈ¡ºÍÅÅÐò¡£
µ«Êµ¼ùÖз¢ÏÖ£¬µ±Ë÷ÒýÁв»ÔÚÌõ¼þÖгöÏÖʱ£¬ORACLE²»»á²úÉúɨÃèË÷ÒýµÄ¼Æ»®£¬¼´Ê¹ÓÃhintÒ²²»ÄÜÈòéÑ¯ÑØ×ÅÄ¿µÄË÷ÒýɨÃ裬ÀýÈ磺
create table t1(c1 int,c2 char(10));
create index idx1_t1 on t1(c1);
select * from (
select * from t1 order by c1)
where rownum<6;
ºÜÃ÷ÏÔ£¬ÕâÖÖд·¨»áµ¼ÖÂÏȶÁÈ¡±í£¬ÔÙ½øÐÐÅÅÐò£¬È»ºóȡǰ5Ìõ¼Ç¼£¬¼Æ»®ÈçÏ£º
Èç¹ûÎÒÃÇÕâôд£¬ÓïÒåÊÇÒ»ÑùµÄ£¬µ«»áʡȥÁË´óÁ¿µÄ¶ÁÈ¡ºÍÅÅÐò´ú¼Û£º
select /*+ index(t1,idx1_t1)*/* from t1 where rownum<6;<†·Ÿ"/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+uMNTUUy1xNa00NC8xruuyOfPwqO6PC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20150430/2015043010035347.png" alt="\">
´ó¼Ò¿ÉÒÔ¿´µ½£¬¸ÃSQL²¢Ã»°´ÕÕhintָʾ£¬Ë³ÐòɨÃèidx1_t1Ë÷Òý£¬ÕâÊÇÎªÊ²Ã´ÄØ£¿¸öÈ˲²⣬¿ÉÄÜÊÇOracleÓÅ»¯Æ÷ÈÏΪ¹ýÂËÌõ¼þÄÚûc1ÁУ¬×ßË÷Òý±È×ßFTSЧÂʸüµÍ£¬ËùÒÔ£¬¸É´à¾Í²»¿¼ÂÇ×ßË÷ÒýÕâÖּƻ®£¬¼´Ê¹ÓÃhintÒ²ÒªºöÂÔ£¬Õâµã¸Ð¾õÓе㲻¾¡ÈËÒâ¡£ÄÇô£¬ÎÒÃÇÏëʲô°ì·¨²ÅÄÜÈÃÓÅ»¯Æ÷Ñ¡ÔñɨÃèidx1_t1µÄ¼Æ»®ÄØ£¿ÎÒÃÇÖ»ÐèÒªÔÚwhereÖмӸöc1ÁÐÉϵÄÌõ¼þ¾Í¿ÉÒÔÁË£¬ÀýÈ磺
select /*+ index(t1,idx1_t1)*/* from t1 where rownum<6 and c1<>-1;
ÕâôÐ޸ĺóµÄ¼Æ»®ÈçÏ£º
Óɴ˿ɼû£¬ÎÒÃÇÓÅ»¯Àà似³¡¾°Ê±£¬Ö»ÐèÂú×ãÁ½µã£º
1¡¢ÅÅÐòÁÐÉÏ´æÔÚË÷Òý£»
2¡¢whereÌõ¼þÖÐÓиÃË÷ÒýÁÐÉϵÄÌõ¼þ£»
Èç¹ûÄÜʵÏÖ°´ÕÕË÷ÒýɨÃ裬ÐÔÄÜÓгÉǧÉÏÍò±¶µÄÌáÉýÒ²ÊǷdz£¿ÉÄܵģ¬ÕâµãÔÚʵ¼ùÖеõ½ÁËÑéÖ¤¡£