MySQL INNODB微调在什么时候成为要求?

Bar*_*all 8 mysql lamp innodb virtual-machine

我看了看这个:
http ://www.mysqlperformanceblog.com/2009/01/12/should-you-move-from-myisam-to-innodb/
和:http:
//www.mysqlperformanceblog.com/2007/11/01/InnoDB的性能优化,基础/

这些回答了很多关于INNODB和MyISAM的问题.毫无疑问,我认为INNODB是我应该去的方式.但是,我正在自己开发和开发我已经创建了一个LAMP(ubuntu 10.10 x64)VM服务器.目前服务器有2 GB内存和一个SATA 20GB驱动器.我可以毫不费力地增加这些数量,大约3-3.5 GB内存和200GB驱动器.

我不愿意切换到INNODB的原因是:
A)以上文章提到INNODB将大大增加表的大小,他建议更大量的RAM和驱动器空间.在生产环境中,我不介意这种增加,在开发环境中,我担心我无法容纳.
B)我没有看到微调我的VM上的INNODB引擎有任何意义.这可能是我在生产环境中甚至不允许做的事情.这些文章听起来像INNODB注定要失败而没有微调.

我的问题是这个.INNODB在什么时候可行?在我的服务器上运行INNODB需要多少RAM(仅使用我的数据进行测试.除了我之外,这个服务器不对任何人开放)?并且我可以安全地假设一个不允许我微调数据库的生产环境可能已经自己调整过了吗?

我也在过度思考/过度关注事物?

Rol*_*DBA 14

恕我直言,当你有数万行,或者你可以预测数据的增长率时,它就成了一个要求.

您需要专注于调整innodb缓冲池和日志文件大小.另外,请确保启用了innodb_file_per_table.

要了解以KB为单位制作innodb缓冲池的大小,请运行以下查询:

SELECT SUM(data_length+index_length)/power(1024,1) IBPSize_KB
FROM information_schema.tables WHERE engine='InnoDB';
Run Code Online (Sandbox Code Playgroud)

这是MB

SELECT SUM(data_length+index_length)/power(1024,2) IBPSize_MB
FROM information_schema.tables WHERE engine='InnoDB';
Run Code Online (Sandbox Code Playgroud)

这是GB

SELECT SUM(data_length+index_length)/power(1024,3) IBPSize_GB
FROM information_schema.tables WHERE engine='InnoDB';
Run Code Online (Sandbox Code Playgroud)

我写了关于这种调整的文章

如果您受服务器上RAM的限制,为了操作系统,请不要超过已安装的25%.