读写环境中的MEMORY(HEAP)与InnoDB

我想使用MySQL编写一个实时应用程序.

它需要一个小表(少于10000行),该表将承受大量读取(扫描)和写入(更新以及某些插入/删除)的负载.我说的真的是每秒10000次更新或选择.这些语句将仅在少数几个(少于10个)打开的mysql连接上执行.

该表很小,不包含任何需要存储在磁盘上的数据.所以我问哪个更快:InnoDB或MEMORY(HEAP)?

我的想法是:

>这两个引擎都可能直接从内存中提供SELECT,因为InnoDB也会缓存整个表.那更新呢? (innodb_flush_log_at_trx_commit?)
>我主要关心的是锁定行为:InnoDB行锁定与MEMORY表锁定.这会成为MEMORY实现中的瓶颈吗?

感谢您的想法!

解决方法:

如果确实需要进行大量并发更新,那么几乎可以肯定innodb的性能会更好,因为HEAP表仅具有表级锁,而不具有像Innodb这样的行级锁.

如果您从头开始,我将研究使用MySQL 5.5或Percona的XtraDB,因为它们都比现有的MySQL 5.1包含了许多可扩展性改进.

上一篇:linux上的强制文件锁


下一篇:百度系统部 在 北京市海淀区西二旗首创空间大厦 招聘 Python-交付运维系统研发工程师 - 内推网(neitui.Me)