MySQL分区表原则

1、作用
分区表作用是一张表存储大量数据,保证持续写入性能,和物理分表效果项目,但分区表更透明省事,对SQL无感知。

2、类型
分区表不仅可以根据字段范围分区,也支持通过键值、哈希和列表分区,不过我们最常用的就是根据范围进行分区。 可以使用数学模函数进行分区,也可以根据时间范围进行分区, 甚至我们可以自行定义一个分区列,将想要落在相同分区的数据的该列都设为相同值。

3、限制

  • 因为需要根据分区列来确定数据所在分区,所以分区列必须作为查询条件, 如果不使用分区列的查询条件,那么就无法进行分区过滤,Mysql最终会扫描所有分区。

  • 所有分区都必须使用相同的存储引擎。

  • 某些存储引擎不支持分区(MERGE、CSV、FEDERATED)

  • 一张表最多只能有1024个分区

  • 分区表中无法对非分区列建立唯一索引(Unique Index)

  • 分区表中无法使用外键

你可能感兴趣的:(MySQL分区表原则)