Windows平台MySQL5.6.11 InnoDB引擎优化概要


编辑: upupw 发布时间: 2013-05-30 23:00:10 来源: UPUPW绿色服务器平台 热度: 7321

InnoDB,是MySQL的数据库引擎之一。

与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

InnoDB是为处理巨大数据量时的最大性能设计。InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。InnoDB默认地被包含在MySQL二进制分发中。Windows Essentials installer使InnoDB成为Windows上MySQL的默认表。

对于使用InnoDB引擎存储海量数据,内存是最重要的。16G-32G 是目前较为低成本高效率的。 CPU 在CPU方面2个双核的CPU也可以胜任,但如果有4核的CPU当然可以担任更大的工作量。

MySQL 5.6.11 InnoDB 设置

  • innodb_buffer_pool_size=128M #内存的70-80% 是一个安全的选择. 如果有16G内存,可以设置为12G
  • innodb_log_file_size=64M #取决于你的还原速度需要,而对于合理的还原时间和高效的性能,可以设置为256M
  • innodb_log_buffer_size=4M #对于大多数情况,4M比较合理,除非你传送一些很大的二进制数据块到InnoDB,可以稍微调大点
  • innodb_flush_log_at_trx_commit=2  #默认为1如果不太在意ACID属性和容许丢失最后时刻的少量事务
  • innodb_thread_concurrency=8  #这个数字要根据实际的情况来设定,但对于大多数的情况,是一个比较合适的设置
  • innodb_file_per_table=1 #如果你没有大量的表,可以使用这个选项,但使用了这个选项后,你将不能控制innodb的主表空间,自MySQL 4.1以后加入并可以稳定使用