oracle 索引和不走索引的幾種形式

mcxiaoracle發表於2022-07-17

一.oralce 索引失效

1使用否定關鍵字

!=, <> ,not in,not exist


select * fromdrama where id <> 1,Mysql不會:


2. 單獨使用不等式關鍵字

直接用>或




3使用null關鍵字

is null或is not null 可能會失效


4左模糊或全模糊

like %放在前面




5索引列用函式

6條件中字元型欄位賦值數字



7使用複合索引, 不使用第一個索引列



8索引失效



9剛建立新表,沒有生成統計資訊,需要分析一下



10索引不如全表查詢快,表比較小或查詢10%以上的列



二、檢視索引是否有效的SQL

1、explain plan for

select * from A  where B='xx'

2、select * from table(dbms_xplan.display)



三、解決辦法


1在特定場景下使用索引


不在小表使用索引,不在列值重複多的列建索引。如不在“性別”,“流轉狀態”列建索引。



2sql慎用關鍵字

null,not , > <

3重建索引

4強制使用索引



oracle sum 好想是不加索引的:



推薦閱讀:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2906125/,如需轉載,請註明出處,否則將追究法律責任。

相關文章