当前位置:嗨网首页>书籍在线阅读

01-MySQL分区

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

MySQL 从5.1 版本开始支持分区的功能。分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。就访问数据库的应用而言,逻辑上只有一个表或一个索引,但是实际上这个表可能由数10个物理分区对象组成,每个分区都是一个独立的对象,可以独自处理,可以作为表的一部分进行处理。分区对应用来说是完全透明的,不影响应用的业务逻辑。

MySQL分区的优点主要包括以下4个方面。

和单个磁盘或者文件系统分区相比,可以存储更多数据。

优化查询。在 Where 子句中包含分区条件时,可以只扫描必要的一个或多个分区来提高查询效率;同时在涉及 SUM()和 COUNT()这类聚合函数的查询时,可以容易地在每个分区上并行处理,最终只需要汇总所有分区得到的结果。

对于已经过期或者不需要保存的数据,可以通过删除与这些数据有关的分区来快速删除数据。

跨多个磁盘来分散数据查询,以获得更大的查询吞吐量。

注意:在MySQL 5.1版本中,分区的实现仍然是pre-alpha版本,该版本中分区特性不是特别适用于生产环境,本章中描述的部分功能在MySQL 5.1版本中还没有实现和提供支持,部分功能在新发布的MySQL 5.5中已经实现。本章将基于MySQL 5.1版本对分区特性进行描述,如果没有特别标注,描述的特性都适用于MySQL 5.1版本,MySQL 5.1版本不支持的功能或者在MySQL 5.5中新增的特性都会特别标注,请读者注意。