首页 > 代码库 > MySQL 分区知识点(二 )

MySQL 分区知识点(二 )

 

前言:

  MySQL 分区类型:

  1、RANGE 分区;

    // 这种类型的分区基于落在给定范围内的列值将行分配给分区。

  2、LIST 分区;

    // 与 RANGE 分区类似,除了根据匹配一组离散值之一的列来选择分区。

  3、LIST COLUMNS 分区;

    // 提供对 LIST COLUMNS 分区的支持。这是一种LIST分区的变体 ,可以使用多列作为分区键,

    也可以使用不同于整数类型的数据类型列作为分区列; 您可以使用字符串类型 DATE和 DATETIME列。

  3、HASH 分区;

    // 使用这种类型的分区,将根据用户定义的表达式返回的值来选择分区,该表达式对要插入到表中的行中的列值进行操作。

    该函数可以由在 MySQL 中有效的表达式产生非负整数值的任何表达式组成。此类型的扩展 LINEAR HASH 也可用。

  4、KEY 分区;

    // HASH 除了只提供一个或多个要评估的列,MySQL 服务器提供了自己的散列函数之外, 这种类型的分区类似于分区 。

    这些列可以包含除整数值之外的列,因为 MySQL 提供的散列函数保证整数结果,

    而不管列数据类型如何。此类型的扩展 LINEAR KEY 也可用。

 

一、RANGE 分区

  按范围分区的表以每个分区包含分区表达式值位于给定范围内的行分配。

  范围应该是连续的,但不重叠,并且使用 VALUES LESS THAN 运算符定义 。

  接下来的几个例子,假设您正在创建一个如下所示的表,以容纳 20 个视频存储区的人员记录,编号为1到20:

  

1 CREATE TABLE employees (2     id INT NOT NULL,3     fname VARCHAR(30),4     lname VARCHAR(30),5     hired DATE NOT NULL DEFAULT 1970-01-01,6     separated DATE NOT NULL DEFAULT 9999-12-31,7     job_code INT NOT NULL,8     store_id INT NOT NULL9 );

 

 

https://dev.mysql.com/doc/refman/8.0/en/partitioning-types.html

 

MySQL 分区知识点(二 )