千万级数据,多表(大概9个表)分组查询汇总 sql 优化 问题
1. 运行环境
lnmp
1). 当前使用的 Laravel 版本?
laravel8
2). 当前使用的 php/php-fpm 版本?
PHP 版本:8.0.3
3). 当前系统
centOS7.9
4). 业务环境
生产环境
5). 相关软件版本
mysql 8.0.1
2. 问题描述?
现在有个商品信息表大概几万数据,需要关联大概九个表,类目表(cate),有两个表(goodsFlow,goodsFlowPerson)有一千多万数据,goodsSpus,adGoods(adGoodsSum)大概百万数据,skuDaily,refundOrderGoods,refundSkuDaily 有几十万数据,现在需要商品信息表关联这些表,分组汇总所需要的字段数据,该加的索引全部加了,强制索引也用了,千万级表扫描行数还有280多万,百万级表扫描行数也有几十万行(业务砍不了,必须这么多表),按接口拆分过sql不是很理想
3. 您期望得到的结果?
这个sql 该怎么优化,或者怎么拆分能达到1秒左右
4. 您实际得到的结果?
按时间段查询大概3个月,整个sql执行完还要八九秒
推荐文章: