使用Oracle的instr函数与索引配合提高模糊查询的效率 一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式:1.select * from tb where name like '%XX%';2.select * from tb where instr(name,'XX')>0; 若是在name字段上没有加索引,两者效率差不多,基本没有区别. 为提高效率,我们在name字段上可以加上非唯一性索引:create index idx_tb_name on…
concat() 函数,是用来连接字符串. 精确查询: select * from user where name=”zhangsan” 模糊查询: select * from user where name like “%zhang%” 在实际的使用中,条件是作为参数传递进来的. 所以我们使用 concat() 函数 mybatis: select * from user where name like concat(“%”, #{name},”%”) 原生SQL: case when ?1…