说明:显示SQL语句的运行时间。默认值为OFF。
在SQLPLUS中使用,时间精确到0.01秒。也就是10毫秒。
在PL/SQL DEVELOPER 中,时间精确到0.001秒:
like VS instr
表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。
但经过实际测试发现,like的效率与instr函数差别相当大。
但经过实际测试发现,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
本文通过具体实例比较了在大量数据中使用LIKE与INSTR函数进行字符串匹配的效率差异。结果显示,在相同条件下,INSTR函数的执行速度明显优于LIKE。
2340

被折叠的 条评论
为什么被折叠?



