MySQL分区的两种形式

数据库 MySQL
什么是数据库分区?MySQL分区都包含哪两种分区的方式?这些问题,都是一个DBA应该知道的知识,您可以在下文找寻到这些问题答案。

MySQL分区在MySQL数据库中的重要性不言而喻,那么,究竟什么是MySQL分区呢?MySQL分区有哪两种方式呢?

什么是数据库分区?数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。 MySQL分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列)

水平分区(Horizontal Partitioning)

这种MySQL分区形式分区是对表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(1个或多个分区)。所有在表中定义的列在每个数据集中都能找到,所以表的特性依然得以保持。

举个简单例子:

一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。(朋奕注:这里具体使用的分区方式我们后面再说,可以先说一点,一定要通过某个属性列来分割,譬如这里使用的列就是年份)

垂直分区(Vertical Partitioning)

这种MySQL分区分区方式一般来说是通过对表的垂直划分来减少目标表的宽度,使某些特定的列被划分到特定的分区,每个分区都包含了其中的列所对应的行。

举个简单例子:

一个包含了大text和BLOB列的表,这些text和BLOB列又不经常被访问,这时候就要把这些不经常使用的text和BLOB了划分到另一个分区,在保证它们数据相关性的同时还能提高访问速度。

在数据库供应商开始在他们的数据库引擎中建立分区(主要是水平分区)时,DBA和建模者必须设计好表的物理分区结构,不要保存冗余的数据(不同表中同时都包 含父表中的数据)或相互联结成一个逻辑父对象(通常是视图)。这种做法会使水平分区的大部分功能失效,有时候也会对垂直分区产生影响。

 

【编辑推荐】

教您如何修改MySQL环境变量

定义MySQL事务的例子

创建MySQL存储过程示例

MYSQL IFNULL函数的使用

MySQL日期的相关函数介绍


 

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-09 20:26:34

2010-07-05 16:37:19

UML类图

2011-03-02 10:29:43

SBS 2011

2010-07-28 09:29:36

Flex DataGr

2010-10-14 14:33:15

MySQL多表联查

2010-05-28 09:49:48

MySQL远程连接

2009-09-14 19:25:09

Ruby form

2010-11-25 10:21:20

MySql查询时间段

2014-04-17 10:56:40

优化策略MySQL缓存

2013-05-27 14:31:34

Hadoop 2.0

2010-03-11 14:34:47

Python环境

2021-05-27 10:57:01

TCP定时器网络协议

2010-08-06 09:38:11

Flex读取XML

2010-06-07 17:41:42

Sendmail 配置

2010-07-14 16:28:58

配线架

2023-03-29 13:06:36

2021-08-11 06:57:16

ShuffleSpark核心

2022-03-15 08:25:32

SparkShuffle框架

2015-11-26 10:05:21

MySQL服务增加从库

2011-03-03 10:26:04

Pureftpd
点赞
收藏

51CTO技术栈公众号