至2023春以来开发问题阶段性记录总结Part1
至2023春以来开发问题阶段性记录总结Part1
Hi,我是阿昌
,记录一下针对2022秋至2023春
以来的一些开发问题
的记录和一些注意点
,菜鸡🐔见笑了哈哈。
1、数据库字段默认尽量不要使用null,使用空串“”
在 MySQL 中,空字符串被视为一个非 NULL 的值。因此,使用“IS NOT NULL”查询空字符串时,它会被视为一个具有值的字符串,而不是 NULL 值。这就是为什么在使用“IS NOT NULL”查询时,查询结果不包含空字符串的原因。
2、PDCA原则
PDCA原则,即是计划(Plan)、实施(Do)、检查(Check)、处理(Act)的首字母组合;它是一种科学的可持续化解决问题的解决方案。
3、Excel导出请求超时问题
OSS解决方案:当业务的excel导出下载业务上要求不能异步时,除非写到oss文件系统
,再返回前端一个oss文件链接,用户自己再访问这个链接进行下载;
存在的可能问题:过度依赖第三方组件很容易出问题,增加项目风险;
4、减少select对应的字段,只查询想要的字段;
减少select返回字段的成本,减少网络传输压力
5、根据索引去使用group by 可以减少扫描的行数,增加sql查询性能
group by关键词执行流程会使用索引,加快分组的速度,来提升对于查询的性能
6、判断数据库是否可以建立唯一索引,在没做密等处理的情况下,可报错避免一系列的并发问题
可以直接在数据库表层进行避免并发操作导致的异常重复数据问题
7、@Indexed注解,加快项目启动
参考问题:https://www.cnblogs.com/aflyun/p/11992101.html
8、mapper.xml timeout标签可单独配置改sql查询的超时时间
通过mapper层直接进行单独的标签级别的timeout="30"
9、一个对象数据比较工具类
CompareUtils(比较对象字段值变化)https://www.cnblogs.com/gkgkgk/p/16562308.html
10、要避免基础dubbo服务依赖业务服务,如订单/库存服务
这样子如果基础dubbo服务如果出现OOM等问题重启,就需要依赖业务服务才可以完成重启,会增加系统等不稳定性。