Welcome 微信登录

首页 / 数据库 / MySQL / Oracle用instr代替like

Oracle表中将近有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 likeOracle sequence序列的用法Oracle系统表知识相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (1)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论