1、 测试数据库是否支持分区

mysql可以通过下面语句判断是否支持分区:

SHOW VARIABLES LIKE '%partition%';

如果输出:have_partitioning   YES 表示支持分区。

或者通过:SHOW PLUGINS;

显示所有插件,如果有partition ACTIVE STORAGE ENGINE GPL 插件则表明支持分区

2、 创建测试表格

3、 将原表格数据复制到测试的表格

Insert into table_test select * from table

4、 对测试表格进行分区

alter table ta_monitor _history_test partition by RANGE (to_days(monitor_time))

(PARTITION p0 VALUES LESS THAN (to_days('2018-01-01')),

PARTITION p1 VALUES LESS THAN (to_days('2018-03-01')) , PARTITION p2 VALUES LESS THAN (to_days('2018-05-01')) ,

PARTITION p3 VALUES LESS THAN (to_days('2018-06-01')) , PARTITION p4 VALUES LESS THAN (to_days('2018-07-01')) ,

PARTITION p5 VALUES LESS THAN (to_days('2018-08-01')) , PARTITION p6 VALUES LESS THAN (to_days('2018-09-01')) ,

PARTITION p7 VALUES LESS THAN (to_days('2018-10-01')) , PARTITION p8 VALUES LESS THAN (to_days('2018-11-01')) ,

PARTITION p9 VALUES LESS THAN (to_days('2018-12-01')) , PARTITION p10 VALUES LESS THAN (to_days('2019-01-01')),

PARTITION p11 VALUES LESS THAN (to_days('2019-02-01')), PARTITION P12 VALUES LESS THAN (to_days('2019-03-01')),

PARTITION P13 VALUES LESS THAN (to_days('2019-04-01')), PARTITION P14 VALUES LESS THAN (to_days('2019-05-01')),

PARTITION P15 VALUES LESS THAN (to_days('2019-06-01')), PARTITION P16 VALUES LESS THAN (to_days('2019-07-01')),

PARTITION P17 VALUES LESS THAN (to_days('2019-08-01')), PARTITION P18 VALUES LESS THAN (to_days('2019-09-01')),

PARTITION P19 VALUES LESS THAN (to_days('2019-10-01')), PARTITION P20 VALUES LESS THAN (to_days('2019-11-01')),

PARTITION P21 VALUES LESS THAN (to_days('2019-12-01')), PARTITION P22 VALUES LESS THAN (to_days('2020-01-01')),

PARTITION P23 VALUES LESS THAN (to_days('2020-02-01')), PARTITION P24 VALUES LESS THAN (to_days('2020-03-01')),

PARTITION P25 VALUES LESS THAN MAXVALUE );

5、 查看分区

SELECT  *  FROM

INFORMATION_SCHEMA.partitions

WHERE

TABLE_SCHEMA = SCHEMA()

AND TABLE_NAME='ta_monitor _history_test';

6、 测试分区

EXPLAIN SELECT

*

FROM

`ta_monitor _history`

WHERE monitor_time > '2018-07-01 01:00:00'

AND monitor_time< '2018-07-19 00:00:00';

EXPLAIN SELECT

*

FROM

`ta_monitorr_history_test`

WHERE monitor_time > '2018-07-01 01:00:00'

AND monitor_time< '2018-07-19 00:00:00';

Rows显示遍历了多少行。

7、 重新定义range分区表:

Alter table emp partitionbyrange(salary)

(partition p1 values less than (2000),

partition p2 values less than (4000)); ----不会丢失数据

8、删除表的所有分区:

Alter table emp removepartitioning;--不会丢失数据

9、可以查看创建分区表的create语句

show create table 表名

mysql数据库分区及测试的更多相关文章

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

    我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. ...

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

    分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解   一,什么是数据库分区 前段时间写过一篇 ...

  3. mysql数据库分区和分表

    转载自 https://www.cnblogs.com/miketwais/articles/mysql_partition.html https://blog.csdn.net/vbirdbest/ ...

  4. Go 连接 mysql 数据库的简单测试.

    1. import 的时候 总是很慢 容易失败 所以 优先导入几个必须要的包 go get github.com/go-sql-driver/mysql 安装完之后 会在gopath 目录下发现相关的 ...

  5. 什么是分表和分区 MySql数据库分区和分表方法

    1.为什么要分表和分区 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性 ...

  6. MySQL数据库基准压力测试工具之MySQLSlap使用实例

    一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和 ...

  7. MySQL数据库分区修改【原创】

    之前有个表分区添加时s201607添加成s201617,所以在查询7月份数据时报错 错误的 alter table statistics_ticket add partition (partition ...

  8. mysqlslap 一个MySQL数据库压力测试工具

    在Xen/KVM虚拟化中,一般来说CPU.内存.网络I/O的虚拟化效率都非常高了,而磁盘I/O虚拟化效率较低,从而磁盘可能会是瓶颈.一般来说,数据库对磁盘I/O要求比较高的应用,可以衡量一下在客户机中 ...

  9. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

随机推荐

  1. 分布式 session

    分布式session的实现方式: 一.Session Replication 方式管理 (即session复制) 简介:将一台机器上的Session数据广播复制到集群中其余机器上 使用场景:机器较少, ...

  2. cordova- cordova-plugin-splashscreen启动页面和图标的设置

    https://www.cnblogs.com/a418120186/p/5856371.html

  3. 微服务-springcloud

    感觉微服务都差不多概念,最近稍微看了下springcloud,感觉入门还是很简单的,框架用用就那么回事,深入的话需要很多时间投入了 学一个东西,我推荐首先从概念上了解到他是做什么的,什么时候需要,基本 ...

  4. js 迭代器 解说

    这里要说的是迭代器,是一种思路而已,代码相对来不是最关键的,个人认为,最关键的部分是实现的思路 要求: 在一个网页中,将所有的 p 元素的内容进行替换,但是在特定的位置的 p 元素是要有差异的进行替换 ...

  5. Zookeeper原理架构

    Zookeeper到底是什么!? 学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色. 然后看到官网 ...

  6. 在Ubuntu 16.04 上编译安装OpenCV3.2.0(Cmake + python3 + OpenCV3)(转)

    1 安装CMAKE sudo apt-get install cmake 2 安装python及其所依赖的软件包 sudo apt-get install build-essential sudo a ...

  7. 使用karma做多浏览器的UI测试

    avalon1.6开发得差不多,这次使用先进的开发理念进行开发,比如模块化,单元测试什么... ui测试是重要的一环,之前用阿里的totoro,但打开浏览器不方便.于是从webdrieverio, n ...

  8. 关于AVAYA CM6和Asterisk(Freepbx)对接的笔记

    最重要的两份参考文档: http://blog.sina.com.cn/s/blog_6db134880102vipo.html https://personalprojects.wordpress. ...

  9. python 问答

    1.list和tuple有什么区别? list是可变的,可以添加list.append,可以插入list.insert,可以改变元素值list[2] ='a':而tuple在初始化的时候就确定了,不能 ...

  10. c语言基本数据类型及存储方式

    ; ; ; ; ; ; ; ; float a9 = 109.23; float a10 = 111.23; double a11 = 113.113; double a12 = 115.113; c ...