理解MySQL——并行数据库与分区(Partion)
2009-12-30 00:00:00 来源:WEB开发网(1) 操作内并行(Intraoperation parallism):通过并行的执行每一个运算,如排序、选择、连接等,来加快一个查询的处理速度。
(2) 操作间并行(Interoperation parallism):通过并行的执行一个查询中的多个不同的运算,来加速度一个查询的处理速度。
注意两者间的区别,前者可以认为多个处理器同时执行一个运算,而后者是多个处理器同时执行不同的运算。
这两种形式之间的并行是互相补充的,并且可以同时存在于一个查询中。通常由于一个查询中的运算数目相对于元组数目是较小的,所以当并行度增加时,第一种方式取得的效果更显著。
2、MySQL的分区(partion)
2.1、MySQL分区概述
在 MySQL中,InnoDB存储引擎长期支持表空间的概念,并且MySQL服务器甚至在分区引入之前,就能配置为存储不同的数据库使用不同的物理路径。分区(partion)更进一步,它允许你通过设置各种规则将一个表的各个分区跨文件系统存储。实际上,不同位置的不同表分区是作为一个单独的表来存储的。用户所选择的、实现数据分割的规则被称为分区函数(partioning function),这在MySQL中它可以是模数,或者是简单的匹配一个连续的数值区间或数值列表,或者是一个内部HASH函数,或一个线性HASH函数。
最常见是的水平分区(horizontal partitioning),也就是将表的不同的元组分配到不同的物理分区上。目前,MySQL 5.1还不支持垂直分区(vertical partitioning),即将表的不同列分配到不同的物理分区。你可以使用MySQL支持的大多数存储引擎来创建表的分区,在MySQL 5.1中,同一个表的各个分区必须使用相同的存储引擎,比如,你不能对一个分区使用MyISAM,而对另一个分区使用InnoDB。但是,你可以对同一个数据库的不同的表使用不同的存储引擎。
更多精彩
赞助商链接