mysql myisam 测试_针对MySQL MyISAM引擎的大量数据测试

实验环境

MySQL: 5.1.53-community

Navicat:9.0.15.0 Premium

Operating System:Windows Vista Business 32 bit SP2

CPU:T9300

Memory: DDR2 800 2G*2 =4G

Hard Driver:Seagate 7200 16M

查询MySQL的版本语句:select version();

实验目的:使用optimize table tablename 语句来解决大文本数据空洞的问题,并且计算使用Navicat对大型数据库表进行备份和恢复数据库表所占用的时间。

a8da55fc2365a21eca85c7fe7a1d3804.png

创建数据库表,并设置数据库引擎为MYISAM,默认字符为utf8。content字段类型为text。

725021e2fd9adfedb8e69507c17f28f9.png

重复插入数据到表中,数据表中的数据将以倍数进行增长。

48d57c6093afca93e02d6a208b431a24.png

当执行插入33554432条数据的执行时间是4分58.03秒。

c95af56cb55847e093726070728946b0.png

统计总共插入数据库表中的数据条数。

ce4604dae2fdb0d0395411bd0bdd52bc.png

使用Navicat将数据导出之后的大小和时间,左边为数据库文件的大小,右边是导出语句的条数和时间。可见5K多万条数据导出来之后所占用的磁盘空间接近3G。

4cbf388c05fc86133caa0f37e392a377.png

将数据导入到数据库中,使用了7255.073秒,才把数据导入到数据库中。

2b9c80ebf27a76e913aca77ce99e9fcc.png

数据库没有优化之前的大小。

1e393ac0446621b48fe2f1db990f79ee.png

统计使用optimize table test 语句优化表后的数据库文件大小,比没有优化之前缩小了大约300M大小的存储空间。如果在删除数据之后,不使用optizize 优化表的话,数据库将还是保持6K多万条数据的大小。

8c27be3490172ae0207ba8b06f98ccbd.png

删除数据库表还是蛮快的。

总结:在我们进行对MySQL数据库进行备份的时候,如果数据库采用的引擎是MYISAM,最好先将数据库进行优化,之后再对数据库进行备份。这样可以为我们节省一大部分磁盘空间。再者考虑到导入数据的速度,建议大家将导出的数据库文件设置成固定的大小,那样将数据库文件导入的时候就可以进行多进程同时导入,可以节省很大一部分时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值