`
like.eagle
  • 浏览: 253199 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql数据库 数据分区的类型

阅读更多

mysql数据库 数据分区的类型:

RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。
(mysql5.5之前的版本只接收int类型的参数)

举例如下:
CREATE TABLE employees (
    id INT NOT NULL,
    fname VARCHAR(30),
    lname VARCHAR(30),
    hired DATE NOT NULL DEFAULT '1970-01-01',
    separated DATE NOT NULL DEFAULT '9999-12-31',
    job_code INT NOT NULL,
    store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
    PARTITION p0 VALUES LESS THAN (6),
    PARTITION p1 VALUES LESS THAN (11),
    PARTITION p2 VALUES LESS THAN (16),
    PARTITION p3 VALUES LESS THAN (21)
);

LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。

(mysql5.5之前的版本只接收int类型的参数)

举例如下:
CREATE TABLE employees (
    id INT NOT NULL,
    fname VARCHAR(30),
    lname VARCHAR(30),
    hired DATE NOT NULL DEFAULT '1970-01-01',
    separated DATE NOT NULL DEFAULT '9999-12-31',
    job_code INT,
    store_id INT
)
PARTITION BY LIST(store_id)
    PARTITION pNorth VALUES IN (3,5,6,9,17),
    PARTITION pEast VALUES IN (1,2,10,11,19,20),
    PARTITION pWest VALUES IN (4,12,13,14,18),
    PARTITION pCentral VALUES IN (7,8,15,16)
);

HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。

(mysql5.5之前的版本只接收int类型的参数)

举例如下:
CREATE TABLE employees (
    id INT NOT NULL,
    fname VARCHAR(30),
    lname VARCHAR(30),
    hired DATE NOT NULL DEFAULT '1970-01-01',
    separated DATE NOT NULL DEFAULT '9999-12-31',
    job_code INT,
    store_id INT
)
PARTITION BY HASH(YEAR(hired))
PARTITIONS 4;


KEY 分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。

举例如下:
CREATE TABLE tk (
    col1 INT NOT NULL,
    col2 CHAR(5),
    col3 DATE
)
PARTITION BY LINEAR KEY (col1)
PARTITIONS 3;

分享到:
评论

相关推荐

    mysql 数据库表分区

    2. **分区类型**: - **范围分区**:基于某个列的值的范围来划分,例如日期区间。 - **列表分区**:根据列的预定义值列表来划分,适合于枚举类型或固定值集合。 - **哈希分区**:使用哈希函数根据列的值将行分布...

    深入解析Oracle与MySQL在数据库分区方面的显著差异

    本文将详细探讨Oracle与MySQL在数据库分区方面的不同之处,包括分区类型、创建和管理分区的语法,以及分区策略的应用场景。 Oracle和MySQL在数据库分区方面各有优势。Oracle提供了更复杂的分区类型和更灵活的分区...

    《MySQL数据库原理及应用》教案.rar

    《MySQL数据库原理及应用》是一门深入探讨关系型数据库管理系统MySQL的课程,旨在教授学生如何设计、创建和管理数据库,以及如何在实际应用场景中高效利用MySQL。教案详细涵盖了该课程的所有章节,为教学提供了全面...

    java连接mysql数据库(JDBC驱动).

    ### Java连接MySQL数据库(JDBC驱动) #### 软件下载 - **MySQL**: 版本 4.1.11 下载地址: [http://dev.mysql.com/downloads/mysql/4.1.html](http://dev.mysql.com/downloads/mysql/4.1.html) - **JDBC驱动**: ...

    MySQL数据库基础实例教程(第2版)(微课版)-教学课件.zip

    MySQL数据库基础实例教程是针对初学者的一套系统性学习资源,尤其适合想要了解数据库管理和开发的人群。本教程分为多个章节,涵盖了从基础到进阶的各个关键领域,旨在通过实例教学来帮助学习者深入理解MySQL的核心...

    MySQL数据库应用从入门到精通_第2版

    MySQL数据库是世界上最受欢迎的开源关系型数据库之一,广泛应用于各种规模的企业、网站和应用程序中。本书《MySQL数据库应用从入门到精通_第2版》旨在帮助读者从零基础开始,逐步掌握MySQL的使用技巧和高级功能,...

    MySQL官方测试数据库

    MySQL官方测试数据库是一个非常有价值的资源,对于学习和测试MySQL数据库管理系统的用户来说是不可或缺的工具。这个数据库包含了大量的数据记录,可能涉及多个表,旨在帮助用户进行实际操作练习,了解SQL查询、...

    mysql数据库转换成oracle

    2. **数据导出**:使用MySQL的`mysqldump`命令,将MySQL数据库的数据和结构导出为SQL脚本。例如: ``` mysqldump -u [username] -p[password] [database_name] > dump.sql ``` 这会创建一个包含CREATE TABLE语句...

    MySQL数据库原理及应用(第2版)(微课版)-配套教案.zip

    7. **备份与恢复**:学习如何备份MySQL数据库以防止数据丢失,以及在出现问题时如何恢复数据。 8. **视图与存储过程**:视图可以简化复杂查询并提供安全性,存储过程则可以封装重复的SQL操作,提高代码复用性和执行...

    MySQL数据库考试练习题 mysql试题集 共28页.pdf

    根据提供的文件信息,我们可以推断出这份文档主要包含MySQL数据库相关的考试练习题目。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其性能稳定、易于使用和成本低廉等特点,在互联网应用开发中非常...

    MySQL数据库设计、优化.pptx

    MySQL数据库设计与优化是数据库管理中的重要环节,它关乎到系统的性能、稳定性和可扩展性。本讲座由叶金荣分享,主要涵盖了多个关键方面,包括规范、基础规范、命名规范、库表规范、字段规范、索引规范以及开发环境...

    MySQL 数据库系统设计实现与管理第六版课后习题答案

    MySQL数据库系统设计实现与管理是数据库领域的一门重要课程,主要涵盖了数据库的基础理论、设计方法、实施技巧以及管理策略。第六版的教材深入浅出地介绍了MySQL这一流行的开源关系型数据库管理系统,为学习者提供了...

    MySQL数据库使用帮助文档

    MySQL数据库是世界上最受欢迎的开源关系型数据库之一,广泛应用于各种规模的企业、网站和应用程序中。这份"MySQL数据库使用帮助文档"是开发者在处理与数据库相关的Web应用程序时的重要参考资料。它包含了大量的信息...

    MySQL数据库中文参考手册(CHM)

    MySQL数据库中文参考手册是一部详尽且全面的指南,旨在帮助用户理解和掌握MySQL数据库管理系统的核心功能和操作。MySQL是一种广泛使用的开源关系型数据库系统,以其高效、稳定和易于使用而受到全球开发者的青睐。CHM...

    MySQL 5.1 版数据库

    MySQL 5.1是MySQL数据库管理系统的一个重要版本,它在2005年发布,以其稳定性和高效性受到广泛欢迎。MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,后来被Sun Microsystems收购,最终...

    MySql数据库技术精粹

    MySQL数据库技术精粹是针对MySQL数据库系统的一部深入解析之作,旨在帮助读者全面掌握MySQL的各种技术要点。MySQL作为世界上最受欢迎的开源关系型数据库之一,它的高效、稳定和易用性使其在众多领域得到了广泛应用,...

    MySQL数据库原理及应用(第2版)(微课版)-课程标准.zip

    《MySQL数据库原理及应用(第2版)(微课版)》是一门深入解析MySQL数据库核心技术与实际应用的课程。该课程旨在帮助学习者掌握数据库的基础理论,理解MySQL的架构和工作原理,以及如何在实际项目中有效地运用MySQL...

    mysql数据库程序设计

    本案例中的"mysql数据库程序设计"是一个关于小型教务管理系统的设计项目,它利用MySQL数据库作为数据存储和管理的核心。MySQL是一种广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用性著称,尤其适合中...

Global site tag (gtag.js) - Google Analytics