后端开发SQL注意事项

  1. in操作在很多时候是可以优化查询的,但是当有order by或者其他需要遍历所有结果的语句时需要注意,如果in的内容比较多,应该分批查,例如select * from table where name in (?) and type in (1,2,3) order by id desc limit 10,如果要查的name很多,数据库会查出所有结果再排序, 解决办法:把name分成若干堆,多个协程并行查询,在内存中聚合结果
  2. 注意索引是否能触发,最好explain检查一下
  3. 尽量减少数据库的查询次数,因为时间上和数据库通信的成本一般都会高于内存,而且可以减轻数据库的压力
  4. 索引只会保存索引字段和主键的值,所以如果没必要就不要查询多余的字段
  5. 数据库的写操作会把表hang住,不应该有大批量的写,不能建立复杂的索引
  6. 能预编译尽量预编译,一方面是速度有缓存 ,一方面是安全防注入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值