博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql百万数据实践-分区
阅读量:7183 次
发布时间:2019-06-29

本文共 1867 字,大约阅读时间需要 6 分钟。

今天实践下mysql百万级数据分区的影响,首先是产生百万级别的数据量

//创建带分区的数据表CREATE TABLE `part_person` (  `id` bigint(20) unsigned NOT NULL,  `username` varchar(100) NOT NULL,  `born` date NOT NULL DEFAULT '1970-01-01',  `sex` tinyint(1) unsigned NOT NULL,  PRIMARY KEY (`id`,`born`)) ENGINE=MyISAM DEFAULT CHARSET=utf8PARTITION BY RANGE (year(born))(PARTITION p0 VALUES LESS THAN (1980) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1990) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (2000) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (2010) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2020) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM);//创建不带分区的数据表CREATE TABLE `no_part_person` (  `id` bigint(20) unsigned NOT NULL,  `username` varchar(100) NOT NULL,  `born` date NOT NULL DEFAULT '1970-01-01',  `sex` tinyint(1) unsigned NOT NULL,  PRIMARY KEY (`id`,`born`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;//填充数据,创建procedure向数据表插入数据CREATE PROCEDURE `part_generate`(IN num INT)  BEGIN         DECLARE char_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';    DECLARE username VARCHAR(25) DEFAULT '';        DECLARE id int UNSIGNED;      DECLARE len int;      set id=1;      DELETE from person;      WHILE id <= num DO          set len = FLOOR(1 + RAND()*25);          set username = '';          WHILE len > 0 DO              SET username = CONCAT(username,substring(char_str,FLOOR(1 + RAND()*62),1));              SET len = len - 1;          END WHILE;           INSERT into part_person VALUES (id,username, ADDDATE('1970-01-01',INTERVAL RAND()*365*60 DAY), FLOOR(RAND()*2));          set id = id + 1;      END WHILE;  END//执行procedure插入600万数据call part_generate(6000000)//向未分区表插入数据 insert into no_part_person select * from part_person;

现在有了数据,对比一下有没有分区对查询的影响

图片描述图片描述
查询不是按照该列分区的数据时分区反而更慢一些,查询born数据时不跨区时分区效果提升显著,当数据跨区时提升效果没那么显著,但也有提升。

转载地址:http://xpykm.baihongyu.com/

你可能感兴趣的文章
python时间转换
查看>>
laravel4通过控制视图模板路劲来动态切换主题
查看>>
《空中交通管理基础》-潘卫军主编-第三章-航空器和飞行高度层
查看>>
窗口渐显
查看>>
话说回车和换行
查看>>
织梦dede标签tags的美化教程
查看>>
GATE使用笔记(使用自带的GUI界面)
查看>>
找出符合下图的互联网产品实例
查看>>
性能测试的相关名词
查看>>
Windows Phone 8.1 多媒体(1):相片
查看>>
django 表单提交 post 、get
查看>>
Spring收藏地址
查看>>
LeetCode-Palindrome Linked List
查看>>
mysqlAB复制(自动同步)
查看>>
函数$f(x+1)$和$f(x)$的奇偶性
查看>>
html
查看>>
Python:一个简单的完整程序
查看>>
P3207 [HNOI2010]物品调度
查看>>
uoj#213. 【UNR #1】争夺圣杯(单调栈)
查看>>
Unity4.5版本DLL库名字问题
查看>>