tidb分区表查询慢 比不上未分区的表

【TiDB 使用环境】生产环境
【TiDB 版本】8.1.2

目前有两套同样数据库的集群,且做了分区表的集群机器比未做分区表的集群{8.5.1}还多,很多sql查询性能比不上未分区的集群,请教大家 在分区表的集群如何调优

我们遇到过,当时版本还比较低,分区表内用不了索引。最后放弃用分区表,改为扩容了。

后面还在这个方向研究不 还是直接换为普通表完事了

后面就上tiflash了,没有用分区表了。

要发挥分区表的查询优势,也得结合分区字段等编写查询条件

很麻烦现在 很多查询要单独加索引 但是条件多变 :joy:

如果查询条件不带分区字段,那就发挥不了分区表优势了,这个必须得有,先框定分区范围,再在这个范围里查其它业务字段条件

目前都是先带分区字段的 但是查询性能上比不上不分区的

分区字段在查询条件里是怎么体现的?可以看看这个,分区裁剪:TiDB分区表查询优化中的范围裁剪问题分析-CSDN博客

以前查询分区表性能下降是因为没有全局索引,有全局索引以后应该是好很多。

建议好好看看这个。

猫哥 这边sql已经全部改造 查询都会分区键 都能选定分区 但是查询还是感觉弱一点

都能选定分区还能比不上不分区的吗?
能提供下两边的执行计划看看吗

目前实际应用是这样的 在大in加排序的场景 单表不分区的集群会好很多

tidb不要用分区表,我们所有分区表都改成不分区了

感觉不确认分区表的具体情况,不好确认原因

字段详情以及完整的sql贴出来看看

优先从 sql和索引入手,其次调整配置,最后考虑架构调整或版本升级。

试试分区表吧,可以提效

我这边后面重新同步 不用分区表 能正常用了 :joy:

分区表一般都是必须要加分区字段,再加上要筛选的条件。然后才去对应分区范围内使用索引查询。
或者使用全局索引。