MySQL中MyISAM引擎与InnoDB引擎性能简单测试-2

By | 05月21日
Advertisement

来源:网海拾贝


【总结】

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

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

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

Similar Posts:

  • MySQL中MyISAM 与innoDB的区别

    MySQL中MyISAM 与innoDB的区别 2011-09-08 13:22 InnoDB 和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而 InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部 键等高级数据库功能. MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性. NULL列索引. 对变长

  • Mysql中两个有用的sql性能分析语句

    Mysql中两个有用的sql性能分析语句 1> explain SQL,类似于Oracle中explain语句 例如:explain select * from nad_aditem; 2> select benchmark(count,sql);计算sql语句执行count次所花费的时间 例如: mysql> select benchmark(1000,"SELECT * FROM AD"); +-----------------------------------

  • MySQL中MyISAM引擎与InnoDB引擎性能比较

    MySQL表结构 CREATE TABLE `myisam` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) default NULL, `content` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk; CREATE TABLE `innodb` ( `id` int(11) NOT NULL auto_increment, `name` varc

  • MySQL中MyISAM引擎与InnoDB引擎性能测试

    MySQL表结构 CREATE TABLE `myisam` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) default NULL, `content` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk; CREATE TABLE `innodb` ( `id` int(11) NOT NULL auto_increment, `name` varc

  • Mysql MyIsam引擎和InnoDB引擎的区别

    [总结]: 两种类型最主要的差别就是 InnoDB 支持事务处理与外键.而MyISAM不支持.因为MyISAM相对简单所以   在效率上要优于InnoDB..小型应用使用MyISAM是不错的选择. MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦.. InnoDB所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件.备份 binlog,或者用 mysqldump

  • Mysql中MyISAM、InnoDB两种表类型的区别

    InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. 以下是一些细节和具体实现的差别: ◆1.InnoDB不支持FULLTEXT类型的索引. ◆2.InnoDB 中不保存表的具体行数,也就是说,执行select coun

  • 修改MySQL引擎为InnoDB引擎

    由于InnoDB引擎是具有提交,回滚和崩溃恢复能力的事物安全存储引擎.而且在今后要做MySQL主从以及查看二进制日志时也需要使用InnoDB引擎.从MySQL5.5开始,默认引擎已经改为InnoDB引擎,而Contos5.3上使用yum安装的MySQL还是5.1版本的.因此需要手动将默认引擎更改为InnoDB. 1.备份数据库 由于在修改引擎时可能是导致数据丢失,因为需要将重要的数据库进行备份. mysql -u用户名 -p 输入密码 mysql>show databases; mysqldum

  • MySQL中MyISAM引擎和Heap引擎速度测试

    <script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <s

  • mysql中MyISAM和InnoDB的区别

    InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性. NULL列索引. 对变长行比ISAM表有更少的碎片. 支持大文件. 更好的索引压缩. 更好的键吗统计分布. 更好

  • 测试环境MySQL的MyISAM行式数据库引擎和InfoBright的brightHouse列式数据库引擎

    本机系统: 普通台式机,2CPU,2G内存,硬盘5400转,Linux Ubuntu 12.04 32位 InfoBright按最小默认配置my-ib.cnf [mysqld] 27 port = 5029 28 socket = /tmp/mysql-ib.sock 29 skip-locking 30 key_buffer = 16M 31 max_allowed_packet = 500M 32 table_cache = 16 33 sort_buffer_size = 1M 34 re

Tags: