mysql分库分区分表

本文介绍了MySQL的分库分区分表概念,包括分区和分表的区别。详细讲解了分区的实现,如RANGE分区,并展示了如何通过MySQL5的RANGE COLUMN进行分区操作。此外,还探讨了分表操作,利用merge存储引擎实现数据的合并和拆分。内容涵盖了分区的增加、删除和数据管理,以及如何进行查询优化。
摘要由CSDN通过智能技术生成

1.分库分区分表概念

分区

    就是把一张表的数据分成N个区块,在逻辑上看最终只是一张表,但底层是由N个物理区块组成的

分表

    就是把一张数据量很大的表按一定的规则分解成N个具有独立存储空间的实体表。系统读写时需要根据定义好的规则得到对应的字表明,然后操作它。表名可以按照某种业务hash进行映射。

分库

    一旦分表,一个库中的表会越来越多


2.实现

    2.1分区的实现方式(简单)

    mysql5 开始支持分区功能

RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区。在5.7版本中DATE、DATETIME列也可以使用RANGE分区,同时在5.5以上的版本提供了基于非整形的RANGE COLUMN分区。RANGE分区必须的连续的且不能重叠。使用

“VALUES LESS THAN ()” 来定义分区区间,非整形的范围值需要使用单引号,并且可以使用MAXVALUE作为分区的最高值。

CREATE TABLE IF NOT EXISTS fenquTable(
    id INT AUTO_INCREMENT,
    amount DOUBLE NOT NULL,
    order_day DATETIME NOT NULL,
    PRIMARY KEY(id, order_day)
    )ENGINE=INNODB DEFAULT CHARSET=utf8
    
    PA
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值