避免使用 isNull 判断
// ❌ 不推荐
LambdaQueryWrapper<User> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.isNull(User::getStatus);
// ✅ 推荐:使用具体的默认值
LambdaQueryWrapper<User> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(User::getStatus, UserStatusEnum.INACTIVE.getCode());
原因:
使用具体的默认值可以提高代码的可读性和维护性
NULL值会使索引失效,导致MySQL无法使用索引进行查询优化
NULL值的比较需要特殊的处理逻辑,增加了CPU开销
NULL值会占用额外的存储空间,影响数据压缩效率
明确 Select 字段
// ❌ 不推荐
// 默认select 所有字段
List<User> users1 =