ITPub博客

首页 > 数据库 > Oracle > 【优化】模糊查询索引问题

【优化】模糊查询索引问题

原创 Oracle 作者:Kevin_Weig 时间:2018-03-29 09:13:59 0 删除 编辑
1、问题描述:
     生产环境中使用模糊查询SQL语句如like '%A%' 导致全表扫描拖慢系统。

2、情景复现:
    使用scott的emp2(emp表复制)表作为测试表,查询在ename字段包含O字母的所有员工。

    前提:已经在emp2表的ename字段建立了索引   create index ind_emp2_ename on emp2(ename);
    
    SCOTT> explain plan for select * from emp2 where ename like 'S%';
    SCOTT> @?/rdbms/admin/utlxplp


    SCOTT> explain plan for select * from emp2 where ename like '%O%';
     SCOTT> @?/rdbms/admin/utlxplp


  结论:模糊查询如果第一个是通配符,就不走索引
  建议:模糊查询,想要索引生效,要给出前面的字符串
    
    
    

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31476473/viewspace-2152393/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-07-17

  • 博文量
    43
  • 访问量
    15381