<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-94  評論-56  文章-3  trackbacks-0
    索引是表的一個概念部分 , 用來提高檢索數(shù)據(jù)的效率, ORACLE 使用了一個復雜的自平衡 B-tree 結(jié)構(gòu) . 通常 , 通過索引查詢數(shù)據(jù)比全表掃描要快 . ORACLE 找出執(zhí)行查詢和 Update 語句的最佳路徑時 , ORACLE 優(yōu)化器將使用索引。
    大部分的性能問題其實都是索引應用的問題,Where子句、Order By、Group?By 都要用到索引。
    一般開發(fā)人員認為將索引建全了就可以下班回家了,實則還有頗多的思量和陷阱。


    索引列上不要使用IS NULL 或 IS NOT NULL
    ×?SELECT?Col?FROM?tbl?WHERE?col?IS?NULL

    索引列上不要使用函數(shù)
    ×?SELECT?Col?FROM?tbl?WHERE?substr(name , ? 1 , ? 3 )? = ?'ABC'
    ○?SELECT?Col?FROM?tbl?WHERE?name?LIKE?'ABC%'
    WHERE子句中,如果索引列是函數(shù)的一部分.優(yōu)化器將不使用索引而使用全表掃描.

    索引列上不要使用NOT != <>
    ×?SELECT?Col?FROM?tbl?WHERE?col?! = ? 10
    ○?SELECT?Col?FROM?tbl?WHERE?col?>?
    10 ?OR?col?<? 10

    記住 , 索引只能告訴你什么存在于表中 , 而不能告訴你什么不存在于表中 . 要避免在索引列上使用NOT, NOT會產(chǎn)生在和在索引列上使用函數(shù)相同的影響. ORACLE”遇到”NOT,他就會停止使用索引轉(zhuǎn)而執(zhí)行全表掃描。

    索引列上不要進行計算

    ×?SELECT?Col?FROM?tbl?WHERE?col?/? 10 ?>? 10
    ○?SELECT?Col?FROM?tbl?WHERE?col?>?
    10 ?*? 10
    這是最最普遍的失效陷阱,比如where trunc(order_date)=trunc(sysdate), i+2>4。索引失效的原因也簡單,索引是針對原值建的二叉樹,你將列值*3/4+2折騰一番后,原來的二叉樹當然就用不上了。




    ?


    posted on 2007-01-22 11:13 小言身寸 閱讀(2304) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫/SQL語言
    主站蜘蛛池模板: 亚洲欧美第一成人网站7777| 狠狠亚洲狠狠欧洲2019| 免费观看无遮挡www的视频 | 在线亚洲97se亚洲综合在线| 国产亚洲人成无码网在线观看| 亚洲人成电影在线天堂| 亚洲videos| 有色视频在线观看免费高清在线直播| 久久久久久av无码免费看大片| 久久久久久夜精品精品免费啦| 伊人免费在线观看| 国产精品69白浆在线观看免费| 国产一精品一aⅴ一免费| 国产亚洲午夜高清国产拍精品| 精品国产污污免费网站入口| 国产AⅤ无码专区亚洲AV| 免费看成人AA片无码视频吃奶| 国产黄色片在线免费观看| 狠狠色伊人亚洲综合成人| 无码国产精品一区二区免费式芒果 | 在线看亚洲十八禁网站| 免费无码又爽又刺激一高潮| 亚洲精品中文字幕乱码三区| 无码少妇精品一区二区免费动态| 亚洲精品影院久久久久久| 国产裸体美女永久免费无遮挡| 国产亚洲真人做受在线观看| 最近中文字幕免费mv在线视频| 亚洲五月丁香综合视频| 免费在线观看一级片| 国产精品亚洲产品一区二区三区| 亚洲精品无码专区在线播放| 亚洲福利精品电影在线观看| 亚洲第一街区偷拍街拍| 成人免费大片免费观看网站| 亚洲91av视频| 中文无码日韩欧免费视频| 久久亚洲国产精品五月天婷| 99精品视频在线观看免费播放| 亚洲另类无码一区二区三区| 亚洲日韩aⅴ在线视频|