MySQL INNODB
MySQL INNODB InnoDB 由 Innobase Oy 公司所开发, 发音为 “in-no-db” http://wulijun.github.io/2012/09/29/MySQL-innodb-intro.html InnoDB是MySQL下使用最广泛的引擎, 它是基于 MySQL 的高可扩展性和高性能存储引擎, 从5.5版本开始, 它已经成为了默认引擎。 InnODB 引擎支持众多特性: 支持ACID,简单地说就是支持事务完整性、一致性; 支持行锁,以及类似ORACLE的一致性读,多用户并发; 独有的聚集索引主键设计方式,可大幅提升并发读写性能; 支持外键; 支持崩溃数据自修复; InnoDB有这么多特性,比MyISAM来的优秀多了,还犹豫什么,果断的切换到InnoDB引擎吧 🙂 InnoDB 配置 可以选择官方版本, 或者 Percon a的分支, 如果不知道在哪下载, 就google吧。安装完MySQL后,需要适当修改下 my.cnf 配置文件, 针对 InnoDB 相关的选项做 一些调整, 才能较好的运行InnoDB。 相关的选项有: #InnoDB存储数据字典、内部数据结构的缓冲池,16MB 已经足够大了。 innodb_additional_mem_pool_size = 16M #InnoDB用于缓存数据、索引、锁、插入缓冲、数据字典等 #如果是专用的DB服务器,且以InnoDB引擎为主的场景,通常可设置物理内存的50% #如果是非专用DB服务器,可以先尝试设置成内存的1/4,如果有问题再调整 #默认值是8M,非常坑X,这也是导致很多人觉得InnoDB不如MyISAM好用的缘故 innodb_buffer_pool_size = 4G #InnoDB共享表空间初始化大小,默认是 10MB,也非常坑X,改成 1GB,并且自动扩展 innodb_data_file_path = ibdata1:1G:autoextend #如果不了解本选项,建议设置为1,能较好保护数据可靠性,对性能有一定影响,但可控 innodb_flush_log_at_trx_commit = 1 #InnoDB的log buffer,通常设置为 64MB 就足够了 innodb_log_buffer_size = 64M #InnoDB redo log大小,通常设置256MB 就足够了 ...