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
  • asp之家 网络编程 m.aspxhome.com