首頁 > 資料庫 > mysql教程 > 使用Oracle的instr函数与索引配合提高模糊查询的效率

使用Oracle的instr函数与索引配合提高模糊查询的效率

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 17:19:04
原創
1956 人瀏覽過

一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式:1.select * from tb where name like

一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式:
1.select * from tb where name like '%XX%';
2.select * from tb where instr(name,'XX')>0;

若是在name字段上没有加索引,两者效率差不多,基本没有区别。

为提高效率,我们在name字段上可以加上非唯一性索引:
create index idx_tb_name on tb(name);

这样,再使用
select * from tb where instr(name,'XX')>0;
这样的语句查询,效率可以提高不少,,表数据量越大时两者差别越大。但也要顾及到name字段加上索引后DML语句会使索引数据重新排序的影响。

linux

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
Ubuntu 15.04 安裝 oracle 資料庫
來自於 1970-01-01 08:00:00
0
0
0
Discuz! Q 有人用過嗎?
來自於 1970-01-01 08:00:00
0
0
0
objective-c開發問題~新手
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板