主要观点总结
本文介绍了MyBatisPlus的12个优化技巧,包括代码优化、查询性能提升等方面。
关键观点总结
关键观点1: 使用具体的默认值而不是NULL值进行比较
避免使用isNull判断,提高代码的可读性和维护性。
关键观点2: 明确Select字段,避免大量无用字段的网络传输开销
通过指定需要的字段,可以利用索引覆盖,避免回表查询,减少数据库解析和序列化的负担。
关键观点3: 批量操作方法替代循环
减少数据库连接的创建和销毁开销,批量操作可以在一个事务中完成,提高数据一致性。
关键观点4: 使用Exists方法子查询
EXISTS是基于索引的快速查询,可以使用到索引。当外表数据量大时,EXISTS的性能优势更明显。
关键观点5: 使用orderBy代替last
避免直接字符串拼接,使用LambdaQuery确保类型安全。
关键观点6: 用between代替ge和le
生成的SQL更简洁,减少解析开销,数据库优化器可以更好地处理范围查询。
关键观点7: 排序字段注意索引
索引天然具有排序特性,可以避免额外的排序操作。无索引排序会导致文件排序,极大影响性能。
关键观点8: 分页参数设置
控制单次查询的数据量,避免内存溢出,提高首屏加载速度,优化用户体验。
关键观点9: 条件构造处理Null值
优雅处理空值,避免无效条件,减少代码中的if-else判断,提高代码可读性。
关键观点10: 查询性能追踪
使用Try-with-resources自动计时,业务代码和性能监控代码完全分离。
关键观点11: 枚举类型映射
类型安全,自动处理数据库和枚举转换,代码可读性更强。
关键观点12: 自动处理逻辑删除
数据不丢失,查询自动过滤已删除数据,支持数据恢复。
关键观点13: 乐观锁更新保护
防止并发冲突,自动处理版本控制,提高数据一致性。
关键观点14: 递增和递减优化
使用setIncrBy和setDecrBy进行递增和递减操作,避免手动拼接sql,防止sql注入。
文章预览
前言 说起数据库ORM,我忽然想起了小时候外婆做的那锅鲜美的羊肉汤。平常人家做的羊肉汤无非是几块肉、几片姜,味道寡淡得很,喝了和喝白开水差不多。但外婆的汤,那是另一回事儿 —— 一锅汤,香气四溢,肉质软烂,汤头浓郁得能让人连碗都想舔干净。 写代码何尝不是如此?以前写Mybatis,就像是在煮一锅没有灵魂的羊肉汤:原料都在,但就是不够鲜美。代码繁琐,每写一个查询都像是在不断调味,却怎么也调不出那种令人惊艳的味道。直到遇见MyBatisPlus,一切都变了 —— 这就像是从普通的羊肉汤,突然升级到了外婆秘制的顶级羊肉汤! MyBatisPlus就像一位精通厨艺的帮厨,它帮你处理了所有繁琐的准备工作。想要一个复杂的查询?不用自己一刀一刀地切肉、一勺一勺地调味,框架已经帮你准备好了。你只需要轻轻地指挥,代码就像汤汁一
………………………………