MySQL 的分区
来源:互联网 发布:乐商店软件下载 编辑:程序博客网 时间:2024/06/03 16:56
一、分区概念
分区是指允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。
通俗地讲表分区是将一张大表,根据条件分割成若干个小表。数据库存存储的时候会存在多个文件中。而对于程序或者数据库来说,依旧是一张表,就是将mysql相关的数据文件,分成了多个存储。 【MYSQL 5.1之后支持分区】
二、为什么要对表进行分区
为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。
分区的一些优点包括:
1)、与单个磁盘或文件系统分区相比,可以存储更多的数据。
2)、对于那些已经失去保存意义的数据,通常可以通过删除与那些数据有关的分区,很容易地删除那些数据。相反地,在某些情况下,添加新数据的过程又可以通过为那些新数据专门增加一个新的分区,来很方便地实现。
3)、一些查询可以得到极大的优化,这主要是借助于满足一个给定WHERE语句的数据可以只保存在一个或多个分区内,这样在查找时就不用查找其他剩余的分区。因为分区可以在创建了分区表后进行修改,所以在第一次配置分区方案时还不曾这么做时,可以重新组织数据,来提高那些常用查询的效率。
4)、涉及到例如SUM()和COUNT()这样聚合函数的查询,可以很容易地进行并行处理。这种查询的一个简单例子如 “SELECT COUNT (*) from user;”。 并行这意味着该查询可以在每个分区上同时进行,最终结果只需通过总计所有分区得到的结果。
5)、通过跨多个磁盘来分散数据查询,来获得更大的查询吞吐量。
三、mysql几种分区类型说明:
分区类型
特点
RANGE分区
允许将数据划分不同范围。
例如:可以将一个表通过年份划分成若干个分区,或者是按照id的值范围进行划分。
LIST分区
这种模式允许系统通过预定义的列表的值来对数据进行分Values In (1,2,3)
例如:将用户按照地图进行划分【省id 1,2,3在一个分区 4,5,6在一个分区等】
Hash分区
这中模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。
例如:可以建立一个对表主键进行分区的表【根据hash算法将数据平均分配在分区内】
Key分区
上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的
阅读全文
0 0
- mysql 的分区
- MySQL的分区
- MySQL的表分区
- mysql的分区
- mysql的分区技术
- MySQL的表分区
- MySQL分区的优势
- mysql的表分区
- MySQL的表分区
- MySql分区的使用
- MySQL的表分区
- MySQL分区的限制
- Mysql的表分区
- MySQL的表分区
- mysql的分区技术
- MySQL的表分区
- Mysql里的分区
- MYSQL的分区操作
- WeakReference 在android中的应用
- c++中常用的计算程序运行时间的方法
- android ListViev 详解
- Linux rpm命令简析
- Web前端——2.css选择器
- MySQL 的分区
- 一些备忘
- js里的一些知识
- Ketos 笔记 -- 记 Go Hackathon 2017
- SIP协议之 格式定义
- PREV-6 翻硬币
- 【JavaScript学习】DOM:Node类型
- Python生成PASCAL VOC格式的xml标注文件
- Reactjs入门官方文档(十)【composition-vs-inheritance】