MySQL分区

一、分区优点

  1. 逻辑数据分割,存储在不同的位置
  2. 方便逻辑数据的删除,当不需要某逻辑数据,可以删除分区
  3. 优化查询,可以通过确定分区,更快定位数据存储位置
  4. 通过跨多个磁盘来分散数据查询,来获得更大的查询吞吐量
  5. 分区后数据仍存储在同一张表,满足一张表上的约束条件

二、分区限制

  1. 只能对整形数据进行分区
  2. 如果表含有主键或者唯一索引,则表的分区必须包含主键或者唯一索引
  3. 分区的最大数为1024
  4. 分区不支持全文索引
  5. 分区不支持外键

三、什么时候使用分区

  1. 海量数据表
  2. 历史表快速的查询,可以采用ARCHIVE+PARTITION的方式。
  3. 数据表索引大于服务器有效内存
  4. 对于大表,特别是索引远远大于服务器有效内存时,可以不用索引,此时分区效率会更有效。

四、分区的类型

  1. Range分区
  2. List分区
  3. Hash分区
  4. Key分区

五、分区示例

1.Range分区

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 MAXVALUE
);

2.LIst分区

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)
);

3.Hash分区

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(store_id)
PARTITIONS 4;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。m...
    MrKai平凡之路阅读 1,186评论 0 5
  • 原文链接 http://blog.csdn.net/kobejayandy/article/details/547...
    lucode阅读 927评论 0 0
  • 为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表...
    仒叻戓厺阅读 647评论 0 1
  • 摘要:MySQL分区表概述 随着MySQL越来越流行,Mysql里面的保存的数据也越来越大。在日常的工作中,我们经...
    暖夏未眠丶阅读 437评论 0 1
  • 分区是指根据一定的规则,数据库把一个表分解成多个更小的,更容易管理的部分。就访问数据库的应用而言,逻辑上只有一个表...
    微日月阅读 1,520评论 0 7