`
com1com4
  • 浏览: 162094 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 5.1的几种分区类型

阅读更多

啊呀~忙了好一段时间~数据库的优化说了好久~没精力去动一点点,今晚突然起兴致,学习一下这个mysql的分区功能,当然,搞这个的出发点跟某司没一毛钱关系~

 

这个学习笔记这里只做个简单归纳, 具体可参看mysql文档 http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html

 

先来说说分区的一些优点:

 

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

2 对于那些已经失去保存意义的数据, 通常可以通过删除与那些数据有关的分区, 很容易地删除那些数据. 相反, 在某些情况下, 添加新数据的过程又可以通过为那些新数据专门增加一个新的分区, 来很方便地实现.

3 一些查询可以得到极大的优化, 这主要是借助于满足一个给定WHERE 语句的数据可以只保存在一个或多个分区内, 这样在查找时就不用查找其他剩余的分区. 因为分区可以在创建了分区表后进行修改, 所以在第一次配置分区方案时还不曾这么做时,可以重新组织数据, 来提高那些常用查询的效率.

4 涉及到例如SUM() 和 COUNT()这样聚合函数的查询,可以很容易地进行并行处理。这种查询的一个简单例子如 “SELECT salesperson_id, COUNT(orders) as order_total FROM sales GROUP BY salesperson_id;”. 通过“并行”, 这意味着该查询可以在每个分区上同时进行, 最终结果只需通过总计所有分区得到的结果.

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

 

 

mysql5.1目前支持RANGE, HASH, LIST, KEY几种分区类型.

 

RANGE分区 : 基于属于一个给定连续不重叠区间的列值,把多行分配给分区. 也就是说把一个表按分区表达式划分为多个连续的区间, 分区内的行乎合该分区表达式的值给定的区间.

 

LIST分区 : LIST分区与RANGE分区很相似, 不过RANGE分区的定义和选择是从属于某个连续的区间值集中进行, 而LIST分区的定义和选择则是基于某列的值从属于一个值列表集(通常为数值集合)中的一个值.

 

HASH分区 : HASH分区主要用来确保数据在预先确定数目的分区中"平均分布".  在HASH分区中,不需要给定一个区间或列值集合, MySQL 自动完成这些工作,我们所要做的只是基于将要被哈希的列值指定一个列值(字段)或表达式, 以及指定被分区的表将要被分割成的分区数量.

 

KEY分区 : KEY分区类似于HASH分区, 它们的区别是HASH分区使用的用户定义的表达式,而KEY分区的哈希函数是由MySQL 服务器提供.

分享到:
评论

相关推荐

    Mysql 5.1 和 Mysql驱动

    MySQL驱动通常分为几种类型,包括JDBC驱动、ODBC驱动、PHP驱动等,它们为不同的编程语言提供了与MySQL交互的接口。在Windows环境下,`libmySQL.dll`是一个动态链接库文件,它是MySQL C API驱动的一部分,用于C或C++...

    mysql5.1 + Navicat9.0

    在MySQL 5.1中,有以下几个关键特性值得提及: 1. **分区表**:允许将大表分割成更小、更易管理的部分,提高了查询效率,特别是对于大数据量的处理。 2. **存储过程**:用户可以编写一组SQL语句,打包成一个可重用...

    mysql5.1中文帮助手册

    这份“mysql5.1中文帮助手册”对于那些希望深入理解和学习MySQL的用户来说,是一份非常宝贵的资源。以下将从几个主要方面详细介绍MySQL 5.1中的关键知识点。 1. **SQL语言基础**:MySQL 5.1支持标准的SQL语句,包括...

    MySQL_5.1_HTML_chapter.rar_详细手册(html版)

    手册详细介绍了MySQL 5.1支持的几种分区类型,包括范围分区、列表分区、哈希分区和键值分区。每种分区方法都有其特定的适用场景,通过实际案例分析,手册帮助用户掌握如何选择最合适的分区策略,并对分区表进行有效...

    MySQL 5.1中文参考手册

    在MySQL 5.1中,有几个核心知识点是每个使用者都需要了解的: 1. **SQL语言基础**:包括数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。例如,SELECT语句用于查询数据,...

    MySQL v5.1参考手册 (CHM)

    12. **XML和JSON支持**:MySQL 5.1开始支持XML数据类型和相关的函数,尽管对JSON的支持在后续版本中才得到加强。 手册中还包含了许多其他主题,如数据库设计原则、数据库连接工具、MySQL命令行客户端的使用,以及...

    mysql分区.pdf

    MySQL支持的分区类型主要有以下几种: 1. RANGE分区:基于列值的范围来分区。可以定义一系列范围,每个分区包含了落在该范围内的数据行。例如,如果有一个日期字段,可以创建多个RANGE分区来存储特定日期范围内的...

    MySQL_5[1].1中文参考手册

    可以通过以下几种途径获取MySQL 5.1: - **官方网站**:可以从MySQL官网下载官方分发版。 - **二进制包**:对于大多数平台,MySQL提供预编译的二进制安装包。 - **源代码**:也可以从GitHub或其他代码仓库下载源代码...

    MYSQL 通过分区(Partition)提升MySQL性能

    在MySQL 5.1及更高版本中,支持以下几种具体的分区方法: - **Range分区**:根据一个列的值范围进行分区。例如,根据日期的不同年份来划分分区。 - **Hash分区**:基于列值的哈希函数计算结果来进行分区。这种方式...

    mysql如何进行分区-mysql分区有哪些方法.pdf

    MySQL 5.1 引入的分区功能显著提升了大数据场景下的查询性能,尤其是涉及聚合函数(如 SUM(), COUNT())和范围查询时。此外,分区也有助于数据清理,因为可以轻松地删除过期的分区,而无需涉及复杂的 DELETE 语句。...

    MySQL的表分区详解

    MySQL的表分区是一种数据库优化策略,它将一个大表分解为多个较小的、更易管理和查询的部分,以提高数据检索速度和数据库性能。这一技术自MySQL 5.1版本开始被广泛支持。表分区主要应用于大数据量的场景,通过合理...

    mysql 5.1.66

    2. **分区功能增强**:MySQL 5.1支持更多的分区类型,如线性哈希、范围、列表等,这有助于大型数据集的管理和查询性能提升。 3. **复制功能改进**:添加了半同步复制(Semi-Synchronous Replication),确保至少一...

    MySQL 5[1].1参考手册

    在MySQL 5.1中,有几个重要的知识点是开发者和管理员必须掌握的: 1. **SQL语法**:MySQL遵循标准SQL语法,包括数据查询语言(DQL)、数据操作语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。例如,...

    MySql学习参考手册.zip

    通过阅读"MySql5.1.chm" 文件,学习者可以深入理解这些概念,并通过实际操作来巩固理论知识。手册通常还会包含大量实例和实战指导,帮助读者更好地应用所学内容。无论是初学者还是经验丰富的开发者,这份参考手册都...

    mysql安装包

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它由瑞典MySQL AB公司开发,后被Oracle公司收购。MySQL以其高效、稳定、易用和免费(对于大多数商业用途)的特点,成为了许多企业和开发者的选择,尤其在...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    1.8 性能测试:mysql5.5与mysql5.1 60 第2章 半同步复制 62 2.1 半同步复制简介 62 2.2 半同步复制安装配置 63 2.3 参数说明 63 2.4 功能测试 64 2.4.1 如何验证半同步复制是否正常工作 64 2.4.2 半同步复制...

    Mysql数据表分区技术PARTITION浅析

    分区技术在 MySQL 5.1 及以后的版本中得到了支持,提供了四种主要的分区类型:RANGE、LIST、HASH 和 KEY。 1. **RANGE分区**: RANGE 分区是根据列值属于特定连续区间来分配数据的。例如,如果有一个`store_id`列...

    MySQL的分区表(PartitionedTable)功能详解

    MySQL支持以下几种分区类型: 1. **RANGE分区**:根据列值落在预定义的连续区间内进行分区。 2. **LIST分区**:与RANGE类似,但基于列值匹配离散的值集合。 3. **HASH分区**:根据用户定义的表达式返回的非负整数值...

    MySQL数据库分区功能的使用教程

    MySQL支持多种分区类型,包括: 1. **范围(RANGE)**分区:根据某个列的值的范围进行分区。例如,可以将用户表按用户ID的范围分成几个分区,如p0存储ID小于3的用户,p1存储ID在3到6之间的用户等。 ```sql CREATE ...

Global site tag (gtag.js) - Google Analytics