MySQL两种表存储结构性能比较测试过程
来源:编程中国 时间:2007-12-09 12:45:00
MySQL支持的两种主要表存储格式MyISAM,InnoDB,上个月做个项目时,先使用了InnoDB,结果速度特别慢,1秒钟只能插入10几条。后来换成MyISAM格式,一秒钟插入上万条。当时觉的这两个表的性能也差别太大了吧。后来自己推测,不应该差别这么慢,估计是写的插入语句有问题,决定做个测试:
测试环境:Redhat Linux9,4CPU,内存2G,MySQL版本为4.1.6-gamma-standard
测试程序:Python+Python-MySQL模块。
测试方案:
1、MyISAM格式分别测试,事务和不用事务两种情况:
2、InnoDB格式分别测试AutoCommit=1(不用begin transaction和用begin transaction模式),AutoCommit=0 (不用begin transaction和用begin transaction模式)四种情况。
测试方法为插入10000条记录。为了测试不互相影响,单独建立了专用的测试表,建表语句如下:
1、MyISAM不用事务表:
CREATE TABLE `MyISAM_NT` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=MyISAM;
2、MyISAM用事务表:
CREATE TABLE `MyISAM_TS` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=MyISAM;
3、InnoDB关闭AutoCommit,不用事务:
CREATE TABLE `INNODB_NA_NB` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
4、InnoDB关闭AutoCommit,用事务:
CREATE TABLE `INNODB_NA_BE` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
5、InnoDB开启AutoCommit,不用事务:
CREATE TABLE `INNODB_AU_NB` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
6、InnoDB开启AutoCommit,用事务:
CREATE TABLE `INNODB_AU_BE` (
`TableId` int(11) NOT NULL default '0',
`TableString` varchar(21) NOT NULL default ''
) ENGINE=InnoDB;
测试的Python脚本如下:
#!/usr/bin/env Python
'''
标签:mysql,测试,性能
0
投稿
猜你喜欢
MySQL多实例配置方案
2024-01-14 12:55:49
Python使用draw类绘制图形示例讲解
2022-04-06 01:16:31
Python Pywavelet 小波阈值实例
2021-09-10 23:19:18
修改、删除数据记录(DELETE\\UPDATE)
2009-02-27 15:50:00
python广度优先搜索得到两点间最短路径
2023-09-05 02:06:24
SQL Server密码管理的六个危险判断
2008-10-23 13:57:00
利用pandas合并多个excel的方法示例
2021-05-28 00:02:00
python可视化 matplotlib画图使用colorbar工具自定义颜色
2023-01-06 07:10:01
Python跳出循环语句continue与break的区别
2023-10-19 11:04:19
Python中有趣在__call__函数
2022-04-04 14:06:22
在VS2017中用C#调用python脚本的实现
2021-09-19 00:59:06
MySQL存储引擎简介及MyISAM和InnoDB的区别
2024-01-26 23:53:17
基于Bootstrap使用jQuery实现简单可编辑表格
2023-08-22 20:15:07
MySQL数据库优化技术之索引使用技巧总结
2024-01-21 16:24:22
django模板加载静态文件的方法步骤
2023-04-12 17:13:26
Python实现连接MySql数据库及增删改查操作详解
2024-01-14 10:40:36
分享10个免费超棒的编程用等宽字体
2023-12-06 11:28:32
YUI学习笔记(1)
2009-01-12 18:06:00
利用Python实现面部识别的方法详解
2021-02-08 05:00:57
js自定义trim函数实现删除两端空格功能
2024-04-29 13:21:34