我正在创建一个应用程序,它将在特定位置周围存储几个不同比例的(半)实时提要。每个秤的权重将放在一个表中,该表的行数与秤一样多。秤应用程序每秒向 MySQL 数据库提供一个新的重量,PHP 网络应用程序每 3 秒读取一次。似乎不会有太多的流量对硬盘驱动器进行分页,或者如果差异可以忽略不计,但我想知道使用内存/堆表与使用内存/堆表是否更有效或更有意义正常的 MyISAM 表。
最佳答案
对于从 100 到 1000 的并发读/写请求(想想典型的 OLTP 用法)的任何东西,innodb 的性能将优于 myisam。
这与其他人的观察无关,与事务/acid 支持无关,与 innodb 的体系结构有关,它远远优于遗留的 myisam 引擎。
比如innodb支持聚簇主键索引http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html .
此外,innodb 具有行级锁定,它在并发负载下比 myisam 表级锁定性能更高。
我可以继续,但是有人已经提供了一个非常好的总结,说明为什么 innodb 是 OLTP 的更好选择:http://tag1consulting.com/MySQL_Engines_MyISAM_vs_InnoDB
关于mysql - 用于大规模更新 MySQL 表的最佳表引擎。 MyISAM 还是 HEAP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3517449/