业务主要是B TO B 为商户服务的. 我们大约有750个商户,活跃的不多. 业务订单表每周20万单. 购买阿里云 RDS FOR MYSQL 5.7 8核16GB独享服务.
应用程序基本分为 运营端,销售端,商户端和交易端, 基本上算是4个微服务吧! 另外还有什么监控,作业微服务.
我规划了慢SQL基线,虽然RDS默认1秒就是慢SQL,并保存起来. 自然不是1秒就得去优化,有的伙伴规定的是5秒. 我这里的话规定,运营端是10秒, 销售和商户端是5秒,交易端是1秒. 主要是因为查数据量的大小和使用者身份不同来规划的. 毕竟运营端经常查大范围,全部商户的订单数据. 当然商户也会查自己过去某个月的数据,只是他们是我们的客户,身份贵重! 必须得到重视,使用慢给客户不好的体验,要在他们投诉之前优化掉,何况很多时候客户会用脚投票.
心得一 关联表
select count(*)
from order a
left join b on a.merchant_no=b.merchant_no
left join c on a.channel_code=c.channel_code
left join d on a.product_code = d.channel_code
where 1=1
and b.subname='?'
and a.create_time >='?' and a.create_time ='?' and a.pay_time ='?' and a.create_time ='?' and a.pay_time ='?' and a.create_time ='?' and a.pay_time ='?' and a.create_time ='?' and a.pay_time ='?' and a.create_time ='?' and a.pay_time ='?' and a.create_time ='?' and a.pay_time ='2022-01-01' and a.create_time ='2022-01-01' and a.pay_time