oracle用instr代替like


表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:

  SQL> set timing on

  SQL> select count(*) from t where instr(title,’手册’)>0;

  COUNT(*)

  ———-

  65881

  Elapsed: 00:00:11.04

  SQL> select count(*) from t where title like ‘%手册%’;

  COUNT(*)

  ———-

  65881

  Elapsed: 00:00:31.47

  SQL> select count(*) from t where instr(title,’手册’)=0;

  COUNT(*)

  ———-

  11554580

  Elapsed: 00:00:11.31

  SQL> select count(*) from t where title not like ‘%手册%’;

  COUNT(*)

  ———-

  11554580

  注:

  instr(title,’手册’)>0 相当于like

  instr(title,’手册’)=0 相当于not like



相关阅读:
Linux下常用cvs命令整理
MYSQL 没有完全卸载将导致其安装不成功
CSS样式表教程:浏览器默认样式
SQL SERVER 2005 最小安装经验
XHTML入门学习教程:表格标签的应用
js下获取div中的数据的原理分析
VBS教程:函数-Exp 函数
javascript 操作文件 实现方法小结
503 service unavailable错误说明
X-Space(2):X-Space"搬家"三步走
Oracle常见问题及解决方案
使linux的启动信息显示到LCD 上面
imgAreaSelect 中文文档帮助说明
xHTML+CSS网页制作和搜索引擎优化SEO的关系
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4