3台12c 48g的数据库。这个sql查询要10s。还有优化的空间吗
只能业务层优化了,这么大数据量也没where条件去掉一些数据
我这个数据了推荐的配置是?
tiflash部署了几个?可以考虑增加,并独立部署
tiflash 3个和其他组件都供用一个节点
两个表分别扫了了2.2亿和2.8亿行数据进行join,时间在10s内不算慢了。
看执行计划应该也已经用到了TiFlash的MPP加速,应该是比较优的结果了。
如果还想继续优化,可以看看瓶颈在哪里:
- explain analyze 查看具体执行过程
- 查看Dashboard找到这条慢SQL(通常阈值是3s),查看执行算子,也可以确认到是哪个环节比较慢(推荐)
再根据瓶颈进行优化
1 个赞
我觉得这个出了加机器配置没啥好招了吧
加机器是效果最明显的了
1、源头下手,先加where条件吧
2、在给tiflash 扩容吧
改写成in或者exists的写法会不会速度快一点?
一个2.2亿的表和一个2800w的表,做全量join,10s还觉得慢?
你不如直接提要求,多少s觉得合适?或者还有什么没有放出来的条件,多少可以根据时间什么条件缩小一下范围的吧?
试下不走tiflash,然后添加索引,尝试一下
业务上优化吧 这么大2张表没啥好办法