[硬件配置]

CPU : AMD2500+ (1.8G)

内存: 1G/现代

硬盘: 80G/IDE

[软件配置]

OS : Windows XP SP2

SE : PHP5.2.1

DB : MySQL5.0.37

Web: IIS6

[MySQL表结构]

CREATE TABLE `myisam`(

`id` int(11) NOT NULL auto_increment,

`name` varchar(100) default NULL,

`content` text,

PRIMARYKEY (`id`)

) ENGINE=MyISAMDEFAULT CHARSET=gbk;

CREATE TABLE `innodb`(

`id` int(11) NOT NULL auto_increment,

`name` varchar(100) default NULL,

`content` text,

PRIMARYKEY (`id`)

) ENGINE=InnoDBDEFAULT CHARSET=gbk;

[数据内容]

$name ="heiyeluren";

$content= "MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:· MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另 外一个引擎。·MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。释:MEMORY存储引擎正式地被确定为HEAP引擎。·

InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。·EXAMPLE存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。";

[插入数据-1](innodb_flush_log_at_trx_commit=1)

MyISAM 1W:3/s

InnoDB 1W:219/s

MyISAM 10W:29/s

InnoDB 10W:2092/s

MyISAM 100W:287/s

InnoDB 100W:没敢测试

[插入数据-2](innodb_flush_log_at_trx_commit=0)

MyISAM 1W:3/s

InnoDB 1W:3/s

MyISAM 10W:30/s

InnoDB 10W:29/s

MyISAM 100W:273/s

InnoDB 100W:423/s

[插入数据3](innodb_buffer_pool_size=1024M)

InnoDB 1W:3/s

InnoDB 10W:33/s

InnoDB 100W:607/s

[插入数据4](innodb_buffer_pool_size=256M, innodb_flush_log_at_trx_commit=1, setautocommit=0)

InnoDB 1W:3/s

InnoDB 10W:26/s

InnoDB 100W:379/s

[MySQL 配置文件] (缺省配置)

# MySQL ServerInstance Configuration File

[client]

port=3306

[mysql]

default-character-set=gbk

[mysqld]

port=3306

basedir="C:/mysql50/"

datadir="C:/mysql50/Data/"

default-character-set=gbk

default-storage-engine=INNODB

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=100

query_cache_size=0

table_cache=256

tmp_table_size=50M

thread_cache_size=8

myisam_max_sort_file_size=100G

myisam_max_extra_sort_file_size=100G

myisam_sort_buffer_size=100M

key_buffer_size=82M

read_buffer_size=64K

read_rnd_buffer_size=256K

sort_buffer_size=256K

innodb_additional_mem_pool_size=4M

innodb_flush_log_at_trx_commit=1

innodb_log_buffer_size=2M

innodb_buffer_pool_size=159M

innodb_log_file_size=80M

innodb_thread_concurrency=8

【总结】

可以看出 在MySQL5.0里面,MyISAM和InnoDB存储引擎性能差别并不是很大,针对InnoDB来说,影响性能的主要是innodb_flush_log_at_trx_commit这个选项,如果设置为1的话,那么每次插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有关系,设置为0效率能够看到明显提升,当然,同样你可以SQL中提交“SETAUTOCOMMIT = 0”来设置达到好的性能。另外,还听说通过设置innodb_buffer_pool_size能够提升InnoDB的性能,但是我测试发现没有特别明显的提升。

基本上我们可以考虑使用InnoDB来替代我们的MyISAM引擎了,因为InnoDB自身很多良好的特点,比如事务支持、存储过程、视图、行级锁定等等,在并发很多的情况下,相信InnoDB的表现肯定要比MyISAM强很多,当然,相应的在my.cnf中的配置也是比较关键的,良好的配置,能够有效的加速你的应用。

如果不是很复杂的Web应用,非关键应用,还是可以继续考虑MyISAM的,这个具体情况可以自己斟酌。

分享到:

2009-01-11 20:41

浏览 584

评论

mysql引擎测试_mysql引擎性能简单测试相关推荐

  1. MySQL中MyISAM引擎与InnoDB引擎性能简单测试[转]

    MySQL中MyISAM引擎与InnoDB引擎性能简单测试 [硬件配置] CPU : AMD2500+ (1.8G) 内存: 1G/现代 硬盘: 80G/IDE [软件配置] OS : Windows ...

  2. php mysql 压力测试_MySQL的性能基线收集及压力测试

    建立基线的作用: 计算机科学中,基线是项目储存库中每个工件版本在特定时期的一个"快照". 比如我们现在有并发事物,那么在某时刻发起一个事物会产生当前数据的快照,那么这个快照就相当理 ...

  3. INNODB在裸设备上的性能简单测试

    INNODB在裸设备上的性能简单测试     裸设备简单测试 2009年4月28日 我这里用的SUN VBOX以及SUPER-SMACK来得到的数据. 至于SUPER-SMACK的介绍参见我以前的文章 ...

  4. Mycat+Mysql分布式架构改造和性能压力测试

    架构实现 Mycat作为数据库高可用中间件具备很多的功能,如负载均衡,分库分表,读写分离,故障迁移等.结合项目的实际情况,分库分表功能对于关联查询有很高的要求,需要从业务角度考虑分库分表后的关联查询S ...

  5. android ORM框架的性能简单测试(androrm vs ormlite)

    2019独角兽企业重金招聘Python工程师标准>>> 前言 看了一下现在的android设备,性能都不差,就懒得直接用sqlite,直接上ORM框架把,上网搜了一圈,觉得andro ...

  6. mysql引擎模式_mysql引擎,完整的见表语句,数据库模式, 常用数据类型,约束条件...

    引擎 show engines : 查看引擎 innodb(默认引擎):支持事务,行级锁,外键myisam:查询效率由于innodb,不需要支持事务,行级锁,外键,可以选用myisam来优化数据库 m ...

  7. MySQL 引擎 阿里_MySQL引擎讲解-阿里云开发者社区

    MySQL支持三个引擎:ISAM.MyISAM和HEAP,根据需求不同来选择不同的引擎 数据库的引擎到决于 MySQL 在安装的时候是如何被编译的,要添加一个新的引擎,就必须重新编译 --with-p ...

  8. mysql制作搜索引擎_MySQL 实现一个简单版搜索引擎,真是绝了!

    MySQL 实现一个简单版搜索引擎,真是绝了! 前言只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的) char.varchar.text类型字段 ...

  9. 怎么改mysql的搜索引擎_MySQL全文索引实现简单版搜索引擎实例代码

    前言 只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的) char.varchar.text类型字段能创建全文索引(fulltext index ...

  10. mysql全文索引 版本_MySQL 全文索引实现简单版搜索引擎

    如 +-------+ | value | +-------+ | a | | about | | an | | are | | as | | at | | be | | by | | com | | ...

最新文章

  1. Welcome to Swift (苹果官方Swift文档初译与注解三十四)---241~247页(第五章-- 函数)
  2. 时间序列数据库选型——本质是列存储,B-tree索引,抑或是搜索引擎中的倒排索引...
  3. 在哪里能收到python实例代码-python实现网站微信登录的示例代码
  4. Intent进阶 和 Intent-filter 学习笔记
  5. Python爬虫(二)_urllib2的使用
  6. 【BZOJ】【3856】Monster
  7. 基于jquery.ajax的进一步封装
  8. iOS Xcode 调试 Unable to fix code signing issue
  9. 查看CentOS系统配置情况命令
  10. 大学生如何自学PR剪辑以及PS教程?
  11. 十道解分式方程及答案_解分式方程的题出20道还要带答案
  12. Pycharm 教育版下载/安装 无需注册破解
  13. Python 于 webgame 的应用
  14. CAP定理以及BASE定理详解
  15. linux 以太网 mac,苹果Mac以太网卡的连接速度查看方法
  16. 考研英语语法_Day05_状语和状语从句
  17. 二元非洲秃鹫优化算法附Matlab代码
  18. 根据userAgent获取浏览器/操作系统/设备类型等信息
  19. 采用路缘石成型机在公路建设中与人工调整两相配合
  20. Simulink—PMSM电机模块介绍

热门文章

  1. 小米网络信号测试软件,【小米5X评测】高通:骁龙625移动平台Modem及信号是亮点_手机评测-中关村在线...
  2. [转]Massively Multiplayer Middleware
  3. 浅议开发者面临的信息偏差影响因素
  4. 因为相信所以看见,既然看见注定坚信《14》
  5. [量化-015]如何选择龙头股
  6. 游戏架构设计的一些整理
  7. 戴尔计算机更新程序,戴尔计算机已准备好进行win10 2004更新
  8. 态度决定一切,那什么决定态度?
  9. 不同服务器的号有健康系统吗,王者荣耀健康系统用同一个手机登陆不同的账号一共只能玩两个小时?...
  10. 乱世王者 android换ios,乱世王者苹果系统和安卓系统是可以互通的么 乱世王者苹果和安卓互通的内容详解...