SQL

聚合索引(最左前缀)
当where后的查询条件为多个字段组成的聚合索引, 第一个字段必须是聚合索引的首个字段,否则该查询不会使用到索引。
索引覆盖(节省回表,提升性能)
如果select的字段 被包含在 where后的索引中,那么该查询不会回表(不需要根据ID查询内容,而是直接返回数据),该种索引使用于高频查询字段

总结:

1、不能相信调用端。重要的参数都要先做验证,即使是非空值也需要做验证,不符合条件的就要直接返回或抛异常,不能参与业务sql的查询,否则频繁的访问也会对服务造成负担。

2、sql语句要先做性能查询。对于数据量大的表,建好索引后,所有的sql查询语句要用explain检测性能,并且根据结果来进一步优化索引。

3、代码必须要review。之前我没有放太大的精力在代码的review上,虽说跟迭代排期的紧凑也有关系,但不管怎么说,bug确实是我的疏忽造成的,尤其是像空值这种细小的错误在Java里可以说家常便饭。千里之堤毁于蚁穴,有时一个小bug很容易就引发整个系统的崩盘,这一次的问题也让我更加深刻的认识到了review代码的重要性,不管业务开发的工作量有多麻烦,这一步操作绝对不能忽视。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值