【MyBatis】MyBatis 查询映射语句如何优化?

可以采用以下方法来优化MyBatis查询映射语句:

  1. 对结果集使用列别名,避免属性名和列名不一致
select 
    u.id as userId,
    u.name as userName
from 
    user u
  1. 使用表别名缩短表名
select 
    u.id,
    u.name
from 
    user u
  1. 使用where子句代替in条件
where id in (1,2,3)

改为:

where id = 1 or id = 2 or id =3
  1. 使用left join代替子查询
    避免在from或where语句中嵌套子查询。
  2. 尽量将常量定义为parameter,避免硬编码
select * from user where status = #{status}
  1. 添加分页,限制返回行数
    防止由于大结果集而影响性能。
  2. 避免使用* ,只选择需要的字段
select id, name from user
  1. 使用sql片段抽取重复的代码
    提高代码可维护性。
  2. 使用缓存机制,如二级缓存
    避免不必要的重复查询。
  3. 补充索引,优化查询执行计划
    尽量避免全表扫描。