Mysql的分区

DROP TABLE
IF EXISTS et_msg_201703;

CREATE TABLE
IF NOT EXISTS et_user_msg_201703 (
    `mid` BIGINT auto_increment ,
    `send_username` VARCHAR (255) NOT NULL COMMENT ‘发送消息者‘,
    `receive_username` VARCHAR (255) NOT NULL COMMENT ‘接受消息者,发送者发送的对象‘,
    `video_source_id` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT ‘分享视频的来源地址:0,youtube;1,facebook;2,ted‘,
    `video_thumb_url` VARCHAR (255),
    `videoId` VARCHAR (255) DEFAULT ‘‘ COMMENT ‘视频的videoId‘,
    `share_url` VARCHAR (255),
    `share_title` VARCHAR (255),
    `share_text` TEXT,
    `share_time` INT (11),
    `share_status` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT ‘0,未读;1,已读‘,
    `share_type` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT ‘0,分享类消息;1,聊天类消息‘,
    KEY (send_username),
    PRIMARY key (mid,share_time),
    KEY (receive_username),
    KEY (
        send_username,
        receive_username,
        share_status
    )
) ENGINE = INNODB charset = utf8 PARTITION BY RANGE (share_time)(
    PARTITION p1
    VALUES
        LESS THAN (1488322800),
        PARTITION p2
    VALUES
        LESS THAN (1488409200),
        PARTITION p3
    VALUES
        LESS THAN (1488495600),
        PARTITION p4
    VALUES
        LESS THAN (1488582000),
        PARTITION p5
    VALUES
        LESS THAN (1488668400),
        PARTITION p6
    VALUES
        LESS THAN (1488754800),
        PARTITION p7
    VALUES
        LESS THAN (1488841200),
        PARTITION p8
    VALUES
        LESS THAN (1488927600),
        PARTITION p9
    VALUES
        LESS THAN (1489014000),
        PARTITION p10
    VALUES
        LESS THAN (1489100400),
        PARTITION p11
    VALUES
        LESS THAN (1489186800),
        PARTITION p12
    VALUES
        LESS THAN (1489273200),
        PARTITION p13
    VALUES
        LESS THAN (1489359600),
        PARTITION p14
    VALUES
        LESS THAN (1489446000),
        PARTITION p15
    VALUES
        LESS THAN (1489532400),
        PARTITION p16
    VALUES
        LESS THAN (1489618800),
        PARTITION p17
    VALUES
        LESS THAN (1489705200),
        PARTITION p18
    VALUES
        LESS THAN (1489791600),
        PARTITION p19
    VALUES
        LESS THAN (1489878000),
        PARTITION p20
    VALUES
        LESS THAN (1489964400),
        PARTITION p21
    VALUES
        LESS THAN (1490050800),
        PARTITION p22
    VALUES
        LESS THAN (1490137200),
        PARTITION p23
    VALUES
        LESS THAN (1490223600),
        PARTITION p24
    VALUES
        LESS THAN (1490310000),
        PARTITION p25
    VALUES
        LESS THAN (1490396400),
        PARTITION p26
    VALUES
        LESS THAN (1490482800),
        PARTITION p27
    VALUES
        LESS THAN (1490565600),
        PARTITION p28
    VALUES
        LESS THAN (1490652000),
        PARTITION p29
    VALUES
        LESS THAN (1490738400),
        PARTITION p30
    VALUES
        LESS THAN (1490824800),
        PARTITION p31
    VALUES
        LESS THAN (1490911200)
);
时间: 2024-10-14 18:28:10

Mysql的分区的相关文章

Mysql5.7—mysql优化分区、分表(必备)

小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------谢谢您的参考,如有疑问,欢迎交流 一. 分表 1. 分表简介 分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表. 如果正在使用的表需要进行分区,就需要同时修改app的规则,使mysql可以得知用户查询的数据在哪. 2. 分表类型 分为垂直切分和水平切分 垂直切分:将某些列分到另一个表 水平切分:将某些行分到另一个表 3. 分表的方式 1) Mysql集群 它并不是

mysql数据库分区功能及实例详解

分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解 一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例.mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存

mysql表分区、查看分区

原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的. MYSQL的分区主要有两种形式:水平分区和垂直分区 水平分区(HorizontalPartitioning) 这种形式的分区是对根据表的行进行

mysql的分区和分表

分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中. mysql支持的分区类型包括Range.List.Hash.Key,其中Range比较常用: RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区. LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择. HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算.这个函数可以包含MySQL 中有效的.产生非负整数

mysql 表分区技术

表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分.从逻辑上看,只有一张表,但是底层却是由多个物理分区组成. 表分区有什么好处: a.分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备. b.和单个磁盘或者文件系统相比,可以存储更多数据 c.优化查询.在where语句中包含分区条件时,可以只扫描一个或多个分区表来提高查询效率:涉及sum和count语句时,也可以在多个分区上并行处理,最后汇总结果.d.分区表更容易维护.例如:想批量删除大量数据可以清除整个

MySQL数据库分区的概念与2大好处(1)

我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. 什么是数据库分区? 数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作 中减少数据读写的总量以缩减响应时间. 分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列) 水平分区(Hori

查看Mysql表分区语句

SELECT partition_name part, partition_expression expr, partition_description descr, table_rows FROM INFORMATION_SCHEMA.partitions WHERE TABLE_SCHEMA = schema() AND TABLE_NAME='table'; 查看Mysql表分区语句

MySQL partition分区I

http://blog.csdn.net/binger819623/article/details/5280267 一.        分区的概念二.        为什么使用分区?(优点)三.        分区类型四.        子分区五.        对分区进行修改(增加.删除.分解.合并)六.        不同引擎的分区特性七.        分区的限制性 分区概念分区针对不同的数据库,具有不同的特性.在这里专门针对MySQL数据库而言.在MySQL数据库里,分区这个概念是从my

mysql Partition(分区)初探

mysql Partition(分区)初探 表数据量大的时候一般都考虑水平拆分,即所谓的sharding.不过mysql本身具有分区功能,可以实现一定程度 的水平切分. mysql是具有MERGE这种引擎的,就是把一些结构相同的MyIASM表作为一个表使用,但是我觉得 MERGE不如partition实用, www.2cto.com 因为MERGE会在所有的底层表上查询,而partition只在相应的分区上查询. 建立了两个表,分别为分区和未分区的,分区表按年进行分区. Sql代码 CREATE

RDS for MySQL 通过分区归档历史数据

RDS for MySQL 通过分区归档历史数据 原始表 分区 用于分区维护的存储过程 每月调用存储过程的事件 随着数据的积累,数据量的增加,越来越多的表体积变的庞大,不但影响查询的执行时间,而且使得管理工作(比如添加删除索引)变的越发复杂和困难. 本文介绍一个通过分区滑动来归档历史数据(以便可以有效控制表的尺寸)的方法,仅供大家参考. 1. 原始表 未分区的原始表:order_history. create table order_history (  id              bigi