【TiDB 使用环境】生产环境
【TiDB 版本】8.5.0
在通Tidb存储电商支付交易记录的时候,使用分区表和非分区表在查询性能方面的差异大吗? 求指导在表性能优化设计的实践
tidb的分区主要就2个功能:
1,冷热分离,可以按找分区把冷数据调度到比较差的存储上面去,节省成本。
2,删除数据快,大表直接按照分区删数据,比写个delete快很多很多。
如果你没有这两个需求,单就查询来说,不分区更好,分区表在有全局索引的情况下,查询效率才能和不分区差不多。具体看下面这个链接
https://docs.pingcap.com/zh/tidb/stable/partitioned-table/#全局索引
1 个赞
TiDB 中还好,不用分区表搞个几百亿数据都没问题,对 TP SQL 来说,业务设计上没问题,走上索引和分区裁剪,性能差不多
电商支付交易记录表查询的时候,我估摸着主要是用户去根据用户 id 去查,你根据时间分区的话,意义可能不大
1、使用分区表。
2、读写分离
3、考虑加入缓存层。
赞 学习了
我们主要是设置主表、子表,设置合理主键的方式是保证性能,某些高并发查询放到redis里去做。