mysql mssql 性能对比_详解mysql分区实验测试--非分区表与分区表的性能对比
概述
前面已经介绍了mysql一些分区内容,所以下面主要简单做个实验,然后看下分区表有什么优势。
1、环境准备
1.1、创建如下分区表
CREATE TABLE part_tab( c1 int default NULL,c2 varchar(30) default NULL,c3 date default NULL) engine=myisamPARTITION BY RANGE (year(c3)) (PARTITION p0 VALUES LESS THAN (1995),PARTITION p1 VALUES LESS THAN (1996) , PARTITION p2 VALUES LESS THAN (1997) ,PARTITION p3 VALUES LESS THAN (1998) , PARTITION p4 VALUES LESS THAN (1999) ,PARTITION p5 VALUES LESS THAN (2000) , PARTITION p6 VALUES LESS THAN (2001) ,PARTITION p7 VALUES LESS THAN (2002) , PARTITION p8 VALUES LESS THAN (2003) ,PARTITION p9 VALUES LESS THAN (2004) , PARTITION p10 VALUES LESS THAN (2010),PARTITION p11 VALUES LESS THAN MAXVALUE );
1.2、创建一个不分区的表
create table no_part_tab(c1 int(11) default NULL,c2 varchar(30) default NULL,c3 date default NULL) engine=myisam;
2、准备数据
2.1、创建一个生成1000000行数据的存储过程:
delimiter //CREATE PROCEDURE load_part_tab()begindeclare v int default 0; while v < 1000000 do insert into part_tab values (v,'testing partitions',adddate('1995-01-01',(rand(v)*36520) mod 3652)); set v = v + 1; end while; end //
2.2、调用存储过程,生成数据(本来想1千万的,这数据库性能比较差,所以改成100万)
mysql> delimiter ;mysql> call load_part_tab();mysql> insert into no_part_tab select * from part_tab;
3、开始测试
mysql> select count(*) from no_part_tab where c3 > date '1995-01-01' and c3 < date '1995-12-31';mysql> select count(*) from part_tab where c3 > date '1995-01-01' and c3 < date '1995-12-31';
因为数据量不是特别大,所以可以看到速度有一定下降,但差距不是很明显,下面看一下查询计划。
4、查看执行计划
mysql> explain select count(*) from no_part_tab where c3 > date '1995-01-01' and c3 < date '1995-12-31'G;mysql> explain partitions select count(*) from part_tab where c3 > date '1995-01-01' and c3 < date '1995-12-31'G;
到这里关于分区的实验就做完了,大家有空也可以自己测试一下,把数据量提上去看看,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下!
mysql mssql 性能对比_详解mysql分区实验测试--非分区表与分区表的性能对比相关推荐
- mysql通配符escape使用_详解MySQL like如何查询包含'%'的字段(ESCAPE用法)
在SQl like语句中,比如 SELECT * FROM user WHERE username LIKE '%luchi%' SELECT * FROM user WHERE username L ...
- mysql通配符escape使用_详解MySQL like如何查询包含#39;%#39;的字段(ESCAPE用法)-MySQL教程-Web开发者网...
在SQl like语句中,比如 SELECT * FROM user WHERE username LIKE '%luchi%' SELECT * FROM user WHERE username L ...
- mysql mgr 三节点_详解MySQL 5.7 MGR单主确定主节点方法
我们行MGR年底要上线了,每天都要看官方文档学习,做测试,坚持每天写一个小知识点,有想一起学习的么~ MySQL 5.7 MGR单主确定主节点是哪个,我们可以通过成员ID来判断,然后结合read_on ...
- mysql 编辑数据库内容_详解mysql数据库增删改操作
插入数据 insert into 表名(列名1,列名2,列名3) values(值1,值2,值3); insert into user(user_id,name,age) values(1,'nice ...
- mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC ...
- mysql 的dcl语句_详解MySQL第三篇—DCL语句
DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些语句定义了数据库.表.字段.用户的访问权限和安全级别.主要的语句关键字包括 g ...
- 操作 mysql 不生成日志_详解MySQL的日志
MySQL日志 MySQL的日志记录了MySQL的日常操作和错误信息,通过这些日志我们可以知道MySQL内部发生的事情,可以为MySQL的优化和管理提供必要的信息. MySQL的日志主要有:二进制日志 ...
- mysql update 并发 慢_详解Mysql的锁机制
一.Mysql为什么要加锁 锁机制用于管理对共享资源的并发访问,是对数据库的一种保护机制,也是数据库在事务操作中保证事务数据一致性和完整性的一种机制.当有多个用户并发的去存取数据时,在数据库中就可能会 ...
- mysql删除数据库恢复_详解MySQL数据库恢复误删除数据
血的教训,事发经过就不详述了.直接上操作步骤及恢复思路(友情提示:数据库的任何操作都要提前做好备份),以下是Mysql数据后的恢复过程: 1. 找到binlog 恢复数据的前提是必须开启Mysql的b ...
- mysql事件调度定时任务_详解MySQL用事件调度器Event Scheduler创建定时任务
前言 事件调度器相当于操作系统中的定时任务(如:Linux中的cron.Window中的计划任务),但MySql的事件调度器可以精确到秒,对于一些实时性要求较高的数据处理非常有用. 1. 创建/修改事 ...
最新文章
- 从“诺奖级”成果到“非主观造假”,时隔6年,韩春雨带着原一作,再发高分文章!...
- Linux下提示命令找不到
- 宋体、文件-Ubuntu Linux中配置adb-by小雨
- Python oct 函数 - Python零基础入门教程
- Facebook 开源首个全卷积语音识别工具包 wav2letter++
- I/O设备与主机的联系方式
- ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
- MinIO异常the region is wrong; expecting ‘us-east-1‘
- Hellow Python之打包 exe 文件超级试错
- first season twenty-third episode,Ben was born!!!,Hi Ben???
- 【模板】数据结构之STL常用容器
- Android开发(四):在标题栏右上角实现菜单(三个点)
- 阿里云视频直播使用详细步骤
- 只有程序员才能看懂的16张高端漫画
- 你真的了解中兴吗?带你认识科技品牌 刷新认知
- 从零开始创建一个uni-app项目
- IntelliJ IDEA 使用svn教程
- Mysql学习之constraint/key/primary key/unique/foreign key/constraint的关系
- MessagePack简介与在Python中使用msgpack
- mac引导linux系统,最新Xp+Win7+Mac+Ubuntu四系统BootThink完美引导打造教程!
热门文章
- 一篇关于arc下内存管理的老文章,包含各种冷门修饰符(关于内存),写的较好,mark...
- J2EE基础之EJB
- 脱壳_详细_使用的方法_03
- 基于Bootstrap的后台通用模板
- [Unity3D]自制UnityForAndroid二维码扫描插件
- Android---Textview加入Intent、表情,点击跳转Activity
- 【Spring-IOC】依赖注入
- Java 对象布局、大小工具 jar包工具类jol
- 数据结构之B+树删除详解
- 再谈mysql之执行计划explain