oracle索引與like條件的關係

2021-08-22 17:44:28 字數 781 閱讀 9383

表:gzl_action_define

字段:id:主鍵,有索引

name:一般字段,無索引

以下是各種寫法的結果

1select t.name

from gzl_action_define t

where t.id ='12'

使用索引(unique scan)

2select t.name

from gzl_action_define t

where t.id like '12%'

使用索引(range scan)

3select t.name

from gzl_action_define t

where t.id like '%12'

不使用索引(table access (full))

4select t.id

from gzl_action_define t

where t.id like '%12'

使用索引(fast full scan)

5 select t.name

from gzl_action_define t

where t.id like '%12%'

不使用索引(table access (full))

6select t.id

from gzl_action_define t

where t.id like '%12%'

使用索引(fast full scan)

3、5的原因不是很清楚,估計是%在前帶來的問題

like查詢與索引

一.like查詢與索引 在oracle裡的乙個超級大的表中,我們的where條件的列有建索引的話,會走索引唯一掃瞄index unique scan。如select from table where code cod25 而如下這些語句哪些會走索引呢?sql select from table wh...

模糊匹配like 優化 索引條件下推ICP

mysql 5.6開始支援icp index condition pushdown 不支援icp之前,當進行索引查詢時,首先根據索引來查詢資料,然後再根據where條件來過濾,掃瞄了大量不必要的資料,增加了資料庫io操作。icp 全稱為index condition pushdown,是mysql ...

索引失效的條件 Oracle

1.沒有 where 子句 2.使用 like t 進行模糊查詢 例 select from t owners where name like 李 索引不失效 select from t owners where name like 張 3.使用 is null和 is not null 針對nul...