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
投稿
猜你喜欢
DW MX 2004新功能:加密FTP
2009-09-13 18:42:00
XMLHTTP错误The server name or address could not be resolved 的解决过程
2009-12-26 18:33:00
基于jQuery实现的立体文字渐变效果
2009-05-18 19:15:00
Oracle 当前用户下所有表的记录总数
2009-07-14 21:34:00
Sql Server 2000 一些安全设置
2008-02-13 18:57:00
动态载入asp树源码
2007-09-06 19:34:00
实例:arguments.callee的应用
2009-04-20 12:38:00
美之鉴 – 女人与Web设计
2009-12-09 15:36:00
白鸦:如何设计用户体验?
2008-01-03 16:53:00
怎么才能限制SQL Server只能让指定的机器连接
2010-07-30 13:30:00
设计模式-自动完成
2010-11-30 21:44:00
sql不常用函数总结以及事务,增加,删除触发器
2012-07-11 16:03:42
File input 的样式和文字的更改方法__适用于Firefox、IE等浏览器
2009-10-13 21:05:00
一个完美网站的101项指标.第七部分.W3C标准
2008-03-01 09:31:00
教你轻松学会SQL Server记录轮班的技巧
2009-02-19 17:38:00
Oracle关于时间/日期的操作
2009-02-26 10:37:00
Oracle与MySQL删除字段时对索引和约束的处理
2008-12-26 16:41:00
从IIS到SQL Server数据库安全
2008-12-24 15:58:00
慢慢的网页
2009-11-12 12:53:00
按钮表状态还是表动作?
2009-03-23 18:21:00