当使用like做模糊查询时,会经常使用"%%"这种情况,但这种情况在及时有索引的情况下,也很耗时,此时会进行全盘扫描,通常我们可以换成instr(字段名,要匹配的字符)>0
例如
select * from student s where s.name like '%a%';
select * from student s where instr(s.name,'a')>0;
instr(字段名,要匹配的字符) > 0 等同于 like '%a%'
instr(字段名,要匹配的字符) = 1 等同于 like 'a%'
instr(字段名,要匹配的字符) = 0 等同于 like '%a'