什么数据量需要用分区表

分区表在什么情况下使用

业务经常删除数据,分区后直接删除分区卸载历史数据
数据按照时间分布,需要保留历史数据
解决表读热点,把表才拆成小表,解决读热点问题

1 个赞

大数据量、容易产生热点问题时使用分区表

如果业务数据有定期按照某个字段可以保存,例如时间,数据保存策略是1个月内,那可以创建按照日期字段每天一个分区,一般都是这样用的,后续维护起来就方便了【包括新建分区,删除分区等】

没有大规模删数据需求不用,要用7.5.1以后马马虎虎用吧,前面版本有些问题

解决表读热点时常用

在别的数据库,一般都是很大存储量的才分区表

热点数据查询吧

tidb,如果不需要定期清理历史数据,没必要分区

:joy:当初选tidb的目的就是不用分区表。

解决不了吧,kv有没有分区热点并不会变

冷热数据分离

有定期删除数据的业务,上千万级别的分区,没有删除业务也没必要分区,能冷热分离最好冷热分离。

需要保存历史数据,并且进行生命周期管理的场景就挺适合使用分区表,比如交易流水数据、日志数据这种不需要一直存储、需要定期清理历史数据的场景适合使用分区表。

大数据量、容易产生热点问题时使用分区表

在tidb中,用不用分区表,和数据量都没有关系,只有在你有定期的清理数据的需求时,才可能用到分区表,否则多大的数据量都不推荐使用分区表。

首先数据量得大,其次得有明确的分区键, 最好查询都是在分区内执行。 感觉分区表在某种程度上, 也算是一种冷热分离了。

热点数据,查询能带上分区条件

以下来源于网络:
1、表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均为历史数据。
2、分区表的数据更加容易维护。例如,想批量删除大量数据可以使用清除整个分区的方式。还可以对一个独立分区进行优化、检查、修复等操作。
3、分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备。
4、可以使用分区表来避免某些特殊的瓶颈,例如InnoDB的单个索引互斥访问。
5、如果需要,还可以备份和恢复独立的分区,这在非常大的数据集的场景下效果极好。、

数据量大还有历史数据保留