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;--不会丢失数据
9、可以查看创建分区表的create语句
show create table 表名
mysql数据库分区及测试的更多相关文章
- MySQL数据库分区的概念与2大好处(1)
我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. ...
- mysql数据库分区功能及实例详解
分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解 一,什么是数据库分区 前段时间写过一篇 ...
- mysql数据库分区和分表
转载自 https://www.cnblogs.com/miketwais/articles/mysql_partition.html https://blog.csdn.net/vbirdbest/ ...
- Go 连接 mysql 数据库的简单测试.
1. import 的时候 总是很慢 容易失败 所以 优先导入几个必须要的包 go get github.com/go-sql-driver/mysql 安装完之后 会在gopath 目录下发现相关的 ...
- 什么是分表和分区 MySql数据库分区和分表方法
1.为什么要分表和分区 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性 ...
- MySQL数据库基准压力测试工具之MySQLSlap使用实例
一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和 ...
- MySQL数据库分区修改【原创】
之前有个表分区添加时s201607添加成s201617,所以在查询7月份数据时报错 错误的 alter table statistics_ticket add partition (partition ...
- mysqlslap 一个MySQL数据库压力测试工具
在Xen/KVM虚拟化中,一般来说CPU.内存.网络I/O的虚拟化效率都非常高了,而磁盘I/O虚拟化效率较低,从而磁盘可能会是瓶颈.一般来说,数据库对磁盘I/O要求比较高的应用,可以衡量一下在客户机中 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
随机推荐
- [uwsgi: command not found]
问题: pip install uwsgi 之后,运行uwsgi 报错:[uwsgi: command not found] 解决方案:建立软链接 ln -s /usr/local/python3/b ...
- OWASP安全编码规范快速参考指南
0x00 原则 概览 开发安全的软件需要对安全原则有基本的了解.虽然对于安全原则的全面评估超出了本指南的范围,但是我们还是提供了一个快速的概览.软件安全的目标是要维护信息资源的 保密性 , 完整性 ...
- 我要带徒弟学写JAVA架构,引路架构师之路(Jeecg开源社区)
带徒弟学JAVA架构(Jeecg社区) Java程序员如何打破工作2,3年的瓶颈问题,如何更上一层楼? 太多的巧合,让我接触到了开源,通过JEECG与很多朋友交流后,让我有了帮助别 ...
- Git 全局配置查看修改
查看 git config --list git config --global --list 新增 git config --global user.emal=123 删除 git config - ...
- java 浅克隆(浅复制)和深克隆(深复制)
http://www.voidcn.com/blog/u011380813/article/p-6161450.html https://gold.xitu.io/entry/570d89651ea4 ...
- Django--ORM(模型层)--多表(重重点)
一.数据库表关系 单表 重复的字段太多,所以需要一对多,多对多来简化 多表 多对一 多对多 一对一 =============================================== 一对 ...
- pod引用第三方库的几种方式
pod引用库的原理,本质上是去找.podspec文件,podspec中包含库的地址及最新的版本号(tag标签),如果pod时没有指定版本,则pod install时会去下载podspec文件中指定的最 ...
- maven创建项目,打包出可执行Jar
官网参考 http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html 配置多种打包方式 这个例子也不错 https://bl ...
- SQL SERVER 2000安装遇到的问题小汇总(转载)
[1]安装程序配置服务器失败需要修改下注册表1 打开注册表 在"开始"--"运行"键入 "regedit" 2 删除注册表如下键值: HK ...
- 腾讯助理PHP开发工程师外包岗面经
校招错过腾讯了,在社招上看到腾讯有招外包岗,要求比正式岗低,于是抱着试一试的心态投了简历,没一会就收到了笔试题,还算简单. 第二天收到面试官的面试邀请,然后去面试了…… 腾讯里面真是漂亮,光是看装潢就 ...