Oracle

尾隨萬用字元是否使用索引?(其中列如’value%’)

  • November 6, 2021

我對 Oracle 表中的 Varchar2 欄位進行了查詢:

select column from tbl where column like 'value%'

該查詢使用尾隨萬用字元。


問題:

當使用尾隨萬用字元時,Oracle 是否能夠在該列上使用索引?

是的,它可以。這實際上只是一個範圍謂詞:

Where column >= 'value'
And column < 'valuf'

字元串中其他位置的萬用字元將改變字元串中有多少可以用作access索引上的謂詞。這只是優化器基於成本的決定——它必須讀取多少索引以及需要從中查找多少行。

引用自:https://dba.stackexchange.com/questions/302214