千万级数据,多表(大概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 执行完还要八九秒
推荐文章: