mysql - 用于大规模更新 MySQL 表的最佳表引擎。 MyISAM 还是 HEAP?

标签 mysql myisam in-memory-tables

我正在创建一个应用程序,它将在特定位置周围存储几个不同比例的(半)实时提要。每个秤的权重将放在一个表中,该表的行数与秤一样多。秤应用程序每秒向 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/

相关文章:

MySql为ruby设置字符集

mysql - 对于具有 MyISAM 存储引擎的高流量服务器,哪个查询在查询优化方面表现出色?

delphi - 如何在设计时更改 Delphi FireDAC tFDMemTable 字段名称

mysql - 全文搜索显示错误结果

mysql - 在 MySQL 服务启动时运行 SQL 查询

asp.net-web-api2 - 使用 Web API TransactionScope 和 SQL Server 内存表问题

java - Android 应用程序允许用户下载在线内容

mysql - 从名称首字母相同的表中选择

mysql - 寻找在 mySQL 中锁定表的正确方法

mysql - 在线时向大型 MySql 表添加一列