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

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

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

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


    索引列上不要使用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會(huì)產(chǎn)生在和在索引列上使用函數(shù)相同的影響. 當(dāng)ORACLE”遇到”NOT,他就會(huì)停止使用索引轉(zhuǎn)而執(zhí)行全表掃描。

    索引列上不要進(jìn)行計(jì)算

    ×?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。索引失效的原因也簡(jiǎn)單,索引是針對(duì)原值建的二叉樹,你將列值*3/4+2折騰一番后,原來(lái)的二叉樹當(dāng)然就用不上了。




    ?


    posted on 2007-01-22 11:13 小言身寸 閱讀(2295) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)/SQL語(yǔ)言
    主站蜘蛛池模板: 8090在线观看免费观看| 在线观看AV片永久免费| 亚洲天堂一区二区三区| 在线免费观看一区二区三区| 日本在线观看免费高清| 中文字幕亚洲第一在线| 日韩一区二区三区免费体验| a毛片免费全部播放完整成| 亚洲人成在线中文字幕| 亚洲精品tv久久久久| av无码国产在线看免费网站| 人妻18毛片a级毛片免费看| 亚洲精品在线电影| 亚洲精品国产精品乱码不卡| 无码乱肉视频免费大全合集| 国产高潮久久免费观看| 亚洲熟妇自偷自拍另欧美| 亚洲成AV人在线观看天堂无码| 日本大片在线看黄a∨免费| 久久久99精品免费观看| 黄页网址大全免费观看12网站| 亚洲欧洲久久精品| 在线亚洲97se亚洲综合在线| 成人毛片免费观看视频大全| 最好免费观看高清在线| 国产精品亚洲av色欲三区| 亚洲大香人伊一本线| 亚洲真人无码永久在线| 国产日产成人免费视频在线观看 | 中国一级特黄的片子免费 | 亚洲va久久久噜噜噜久久男同 | 亚洲综合激情视频| a级亚洲片精品久久久久久久| 免费观看理论片毛片| 成年黄网站色大免费全看| 中文字幕久精品免费视频 | 波多野结衣久久高清免费| 最新黄色免费网站| 免费看男人j放进女人j免费看| 又黄又大的激情视频在线观看免费视频社区在线 | 成人男女网18免费视频|