2

我有一个经常更新的表(插入/删除)。我还有一个脚本可以定期计算表中存储了多少条记录。如何优化性能?

  1. 什么都不做:只使用 COUNT 函数。
  2. 创建另一个字段来存储记录数:每当添加新记录时,我们都会增加该字段,反之亦然。
4

3 回答 3

3

如果您的数据库的主要功能是存储(经常插入/更新),请将存储引擎切换到InnoDB,使用INSERTUPDATE查询速度更快,但读取速度较慢。

在此处此处此处阅读更多信息。

于 2012-07-21T17:17:26.280 回答
0

方法 #2 几乎是执行此操作的标准方法(如果您的表非常大并且COUNT给您带来性能问题)。您还可以将COUNT值存储在一个MEMORY表中,这将使检索速度非常快。

增加/减少你认为合适的。

于 2012-07-21T17:19:35.420 回答
0

如果您需要准确的数字,我会将其构建到应用程序中以更新数据库或使用触发器来保持计数最新。正如其他人所提到的,如果您想要性能和持久性,可以将计数保存在 MEMORY 表或 Redis 实例中。INFORMATION_SCHEMA.TABLES 表中有计数,但它们对于 InnoDB 并不精确(+-20% 或更多)。

于 2012-07-21T17:46:47.357 回答