DELETE后MySQL查询速度变慢

时间:2010-07-20 17:14:51

标签: php mysql

我有两部分PHP脚本。

  1. 第一个删除数据库中的某些行
  2. 触发SELECT查询的第二个
  3. 第二个脚本单独运行大约0.2秒。处理两个部件时,第二部分需要5秒。下一次第二个脚本单独运行时,它会回到0.2秒。

    有任何线索吗?

2 个答案:

答案 0 :(得分:1)

查询可能已缓存,因此第二次运行速度更快more info here。如果您向查询添加SQL_NO_CACHE,那么您应该能够确定缓存是否是一个因素。

答案 1 :(得分:0)

每次更新表时,表的查询缓存都会“无效”。

结果是对表的任何UPDATE / DELETE / INSERT将清除该表的查询缓存,并强制为下一个SELECT读取新磁盘。结果将是一个较慢的查询。

以下是MySQL DOCs的链接。

如果您的表格非常大,您可能需要调查MyISAM表和单独的Key-Cache,以获得更好的读取性能。 MyISAM =快速读取,快速写入,写入/ udpates的可怕并发性。 InnoDB =读取的平庸速度,写入/更新的良好并发性。

- J Jorgenson -