mysql数据库分区及测试

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;--不会丢失数据

原文地址:https://www.cnblogs.com/webttt/p/9515791.html

时间: 2024-08-10 15:38:09

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

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

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

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

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

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

一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直观的验证依据,笔者建议系统运维人员应该掌握一些常见的压力测试工具,这样才能较为准确的掌握线上系统能够支撑的用户

[转]MySQL数据库基准压力测试工具之MySQLSlap使用实例

原文链接:http://www.2cto.com/database/201303/195303.html 一.Mysqlslap介绍 mysqlslap 是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用.该工具可以模拟多个客户端同时并发 的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直

java实现定时备份mysql数据库-----已通过测试

配置文件中的信息 sqlurl=C://Program Files (x86)//MySQL//MySQL Server 5.0//bin//mysqldump -h localhost -uroot -pwjg user      path=F:/test.sql      backuptime=16:34:00 备份数据库 public class TestMysql {                   //读取配置文件中的信息                   //MySql的安装b

mysql 数据库分区

mysql , oracle 的分区表按照range分区,是强制按照顺序创建的. 否则就会报错:Error : VALUES LESS THAN value must be strictly increasing for each partition 比如说你创建201510分区,再创建201509分区就会报错了. 所以请在创建分区的适合千万小心注意.

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

在Xen/KVM虚拟化中,一般来说CPU.内存.网络I/O的虚拟化效率都非常高了,而磁盘I/O虚拟化效率较低,从而磁盘可能会是瓶颈.一般来说,数据库对磁盘I/O要求比较高的应用,可以衡量一下在客户机中运行MySQL.Oracle等数据库服务的性能(不过我知道也有在客户机中运行数据库服务器,效率也还可接受).本文不介绍MySQL在虚拟机中的性能表现情况(也许今后会考虑),而是介绍一个MySQL数据库的压力测试工具--msqlslap. mysqlslap是从MySQL的5.1.4版开始就开始官方提

Mysql数据库表分区深入详解

0.mysql数据库分区的由来? 1)传统不分区数据库痛点 mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看), 一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的. [[email protected] test]# ls -al 总用量 1811444 drwx------ 2 mysql mysql 4096 10月 17 15:12 . drwxr-xr-

关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要

近日在开发手机app的评论功能时,输入表情文字,保存后提示数据库保存失败.错误日志片段如下 caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) 经过调研发现,这个问题是mysql的ut