容易引起oracle索引失效的原因是什么

今天就跟大家聊聊有關(guān)容易引起oracle索引失效的原因是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供站前網(wǎng)站建設(shè)、站前做網(wǎng)站、站前網(wǎng)站設(shè)計(jì)、站前網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、站前企業(yè)網(wǎng)站模板建站服務(wù),十載站前做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

容易引起oracle索引失效的原因很多: 

1、在索引列上使用函數(shù)。如SUBSTR,DECODE,INSTR等,對(duì)索引列進(jìn)行運(yùn)算.需要建立函數(shù)索引就可以解決了。 

2、新建的表還沒來得及生成統(tǒng)計(jì)信息,分析一下就好了 

3、基于cost的成本分析,訪問的表過小,使用全表掃描的消耗小于使用索引。 

4、使用<>、not in 、not exist,對(duì)于這三種情況大多數(shù)情況下認(rèn)為結(jié)果集很大,一般大于5%-15%就不走索引而走FTS(全表掃描)。 

5、單獨(dú)的>、<。 

6、like "%_" 百分號(hào)在前。 

7、單獨(dú)引用復(fù)合索引里非第一位置的索引列。也就是說查詢謂詞并未使用組合索引的第一列,此處有一個(gè)INDEX SKIP SCAN概念

 8、字符型字段為數(shù)字時(shí)在where條件里不添加引號(hào)。 

 9、當(dāng)變量采用的是times變量,而表的字段采用的是date變量時(shí).或相反情況。 

10、索引失效,可以考慮重建索引,rebuild online。 

11、B-tree索引 is null不會(huì)走,is not null會(huì)走,位圖索引 is null,is not null  都會(huì)走、聯(lián)合索引 is not null 只要在建立的索引列(不分先后)都會(huì)走

12 、在包含有null值的table列上建立索引,當(dāng)時(shí)使用select count(*) from table時(shí)不會(huì)使用索引。

13、加上hint 還不走索引,那可能是因?yàn)槟阋咚饕倪@列是nullable,雖然這列沒有空值。(將字段改為not null,就會(huì)走)

看完上述內(nèi)容,你們對(duì)容易引起oracle索引失效的原因是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站題目:容易引起oracle索引失效的原因是什么
網(wǎng)站地址:http://bm7419.com/article2/ipdeoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、動(dòng)態(tài)網(wǎng)站定制開發(fā)、響應(yīng)式網(wǎng)站、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)