MySQL数据库优化

时间:2012-07-21 17:13:48

标签: mysql optimization count

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

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

3 个答案:

答案 0 :(得分:3)

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

了解更多hereherehere

答案 1 :(得分:0)

方法#2几乎是执行此操作的标准方法(如果您的表格非常庞大且COUNT正在为您提供性能问题)。您还可以将COUNT值存储在MEMORY表中,这样可以使检索速度极快。

根据需要增加/减少。

答案 2 :(得分:0)

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