LIKE查詢與索引的不解之謎

2021-09-19 04:50:51 字數 701 閱讀 1226

like %keyword 索引失效,使用全表掃瞄。但可以通過翻轉函式+like前模糊查詢+建立翻轉函式索引=走翻轉函式索引,不走全表掃瞄。

like keyword% 索引有效。

like %keyword% 索引失效,也無法使用反向索引。

查詢%xx的記錄

select count(c.c_ply_no) as count

from policy_data_all c, item_data_all i

where c.c_ply_no = i.c_ply_no

and i.c_lcn_no like 』%245′

在執行的時候,執行計畫顯示,消耗值,io值,cpu值均非常大,原因是like後面前模糊查詢導致索引失效,進行全表掃瞄

**解決方法**: 這種只有前模糊的sql可以改造如下寫法

select count(c.c_ply_no) as count

from policy_data_all c, item_data_all i

where c.c_ply_no = i.c_ply_no

and reverse(i.c_lcn_no) like reverse(『%245′)

使用翻轉函式+like前模糊查詢+建立翻轉函式索引=走翻轉函式索引,不走全掃瞄。有效降低消耗值,io值,cpu值這三個指標,尤其是io值的降低。

like查詢與索引

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

like查詢索引失效問題與解決辦法

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

SQL 查詢 like 與 的區別

1 like的用法例子 select from vwitemonhandonorderdgqbywhoverview where 1 1 and group1 like beds 2 的用法例子 select from vwitemonhandonorderdgqbywhoverview where...