【最佳化】模糊查詢索引問題

Kevin_Weig發表於2018-03-29
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部落格 ” ,連結:http://blog.itpub.net/31476473/viewspace-2152393/,如需轉載,請註明出處,否則將追究法律責任。

相關文章