分区有水平分区与垂直分区
mysql只支持水平分区
分区优点:
- 可以让单表存储更多的数据。
- 分区表的数据更容易维护,可以通过清除整个分区批量删除大量数据,也可以增加新的分区来支持新插入的数据。另外,还可以对一个独立分区进行优化、检查、修复等操作。
- 部分查询能够从查询条件确定只落在少数分区上,查询速度会很快。
- 分区表的数据还可以分布在不同的物理设备上,从而高效利用多个硬件设备。
- 可以使用分区表来避免某些特殊瓶颈,例如 InnoDB 单个索引的互斥访问、ext3 文件系统的 inode 锁竞争。
- 可以备份和恢复单个分区。
分区缺点:
- 一个表最多只能有 1024 个分区。
- 如果分区字段中有主键或者唯一索引的列,那么所有主键列和唯一索引列都必须包含进来。
- 分区表无法使用外键约束。
- NULL 值会使分区过滤无效。
- 所有分区必须使用相同的存储引擎。
查看mysql版本
select version()
- mysql5.6之后查看是否支持分区命令
SHOW PLUGINS