mysql查询优化

一.模糊查询优化
1.like
like '%${name}%'       
缺点:输入 % 或 _ 时,全部查出来
2.concat
SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');

( 实际代码:  num LIKE CONCAT('%',#{request.num},'%')实际代码 )
或: concat('%',keyword,'%')
或:<if test="name !=null and name != '' ">
   and name like '%' ||#{name}|| '%'
</if>
缺点:%的问题解决了,但是输入下划线(_)时,全部查出来
3.position
select * from articles where POSITION('张三' in title)
问题解决

posted @ 2017-09-19 15:03  inspire0x001  阅读(164)  评论(0)    收藏  举报