1。盡量不要使用like '%%'
2。對於like '%' (
不以%
開頭),oracle
可以應用colunm
上的index
3。對於like '%
…' 的(
不以%
結尾),可以利用reverse + function index
的形式,變化成like '%'
建測試表和index
,注意,重點在於帶reverse
的function index
。同時,一定要使用cbo才行
create table test_like as select object_id,object_name from dba_objects;
-------
建立測試表
create index test_like__name on test_like(object_name);
------
建立索引
create index test_like__name_reverse on test_like(reverse(object_name));
------
建立反向索引
analyze table test_like compute statistics for table for all indexes;
------
對錶進行分析
都過sqlplus
連線到資料,一定是sqlplus
,因為下面有寫命令在plsql
的命令列中不被支援;
set autotrace trace exp
-----
設定sql跟蹤
set linesize 2000
-------
設定輸出寬度
select * from test_like where object_name like 'as%';
使用了索引
select * from test_like where object_name like '%s';
未使用索引
select * from test_like where reverse(object_name)like reverse('%as')
;使用了索引
ORACLE中LIKE語句優化
1 盡量不要使用 like 2。對於 like 不以 開頭 oracle 可以應用 colunm 上的index 3。對於 like 的 不以 結尾 可以利用 reverse function index 的形式,變化成 like 建測試表和 index 注意,重點在於帶 reverse 的func...
Oracle 優化 Like語句優化
1.盡量不要使用 like 2.對於like 可以用列的索引 3.對於like 以 開頭,不以 結尾 可以利用 反序列和函式索引 變成 like 4.查詢 like xx 應該使用函式instr string source,string xx 例如 select count from tb name...
oracle中like查詢語句怎麼用
在oracle中,like語句常與where語句配合使用,用於在乙個字元型字段中檢索包含的對應子串 該語句主要是針對字元型字段,語法為 select from 表名 where 欄位名 like 對應值 子串 本教程操作環境 windows10系統 oracle 11g版 dell g3電腦。lik...