Dust Of Dream

          知識(shí)真的是一個(gè)圓么?

          Oracle SQL培訓(xùn)筆記[開發(fā)人員][三]

          四 索引與分頁--怎么樣SQL運(yùn)行的更快

          1. 正確的使用索引
            Where條件落在索引上
            不要在where的=前使用函數(shù),否則無法使用索引
            Is Null可能無法使用索引
            不正確的隱式轉(zhuǎn)換可能不能使用索引
            如果能在索引獲得數(shù)據(jù),就不要回表
            如果是復(fù)合索引,注意第2個(gè)字段以后,可能使用不到索引
          2. 正確的使用hint
            如果有別名,一定要有別名
            格式如/*+ index(t index_name) */
          3. 無需回表查詢的分頁寫法
            存在以下表T1(A,B,C,D) T1上有索引字段(B,C) .如果只是查B,C兩個(gè)字段則:
            select *
              
            from (select tt.b, tt.c, rownum as rn
                      
            from (select t.b, t.c from t1 t where c = 2 order by t.c) tt
                     
            where rownum < 3)
             
            where rn > 1
          4. 需回表查詢的分頁寫法
            select /*+ ordered use_nl(t,t1) */ 
                  
            * 
                   
            from (select rid from (
                      
            select rownum rn,rid from (
                        
            select rowid rid from t1
                         
            where c=2 
                         
            order by c desc
                      
            where rownum <= 50
                   
            where rn >=1) t,
                   t1
            where t.rid=t1.rowid;


          posted on 2007-10-01 12:48 Anemone 閱讀(955) 評論(1)  編輯  收藏 所屬分類: 牧羊陣法

          Feedback

          # re: Oracle SQL培訓(xùn)筆記[開發(fā)人員][三] 2008-05-29 10:11 Anemone

          對于分頁寫法只要寫了hit(/*+ ordered use_nl(t,t1) */ )就不需要增加外排序了,它本身返回的結(jié)果就是排序的.  回復(fù)  更多評論   


          My Links

          Blog Stats

          News

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          新聞檔案

          相冊

          常去網(wǎng)站

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宁晋县| 甘孜县| 岐山县| 宜川县| 汶上县| 尉犁县| 永年县| 宝应县| 武邑县| 西华县| 仙居县| 安远县| 辽阳县| 麻阳| 叶城县| 德格县| 新余市| 乌鲁木齐市| 太和县| 清涧县| 沛县| 佛坪县| 丰城市| 连南| 洮南市| 石屏县| 杭锦旗| 张家界市| 富源县| 锦州市| 德清县| 武穴市| 鲁甸县| 巴楚县| 佛学| 千阳县| 镇远县| 岑巩县| 长沙市| 咸宁市| 伊春市|