我有一个经常更新的表(插入/删除)。我还有一个脚本可以定期计算表中存储了多少条记录。如何优化性能?
- 什么都不做:只使用 COUNT 函数。
- 创建另一个字段来存储记录数:每当添加新记录时,我们都会增加该字段,反之亦然。
我有一个经常更新的表(插入/删除)。我还有一个脚本可以定期计算表中存储了多少条记录。如何优化性能?
方法 #2 几乎是执行此操作的标准方法(如果您的表非常大并且COUNT
给您带来性能问题)。您还可以将COUNT
值存储在一个MEMORY
表中,这将使检索速度非常快。
增加/减少你认为合适的。
如果您需要准确的数字,我会将其构建到应用程序中以更新数据库或使用触发器来保持计数最新。正如其他人所提到的,如果您想要性能和持久性,可以将计数保存在 MEMORY 表或 Redis 实例中。INFORMATION_SCHEMA.TABLES 表中有计数,但它们对于 InnoDB 并不精确(+-20% 或更多)。