1

我有问题。我需要(出于教学目的)显示查询的优化过程(例如:没有任何索引的 2 秒,有索引的 1 秒等)。

我有一个 mysql 数据库,每个表中有 12 个表和 1.000.000 条记录。

问题是:如果我第一次执行查询,需要 x 秒。同一查询的第二次执行总是需要 0 秒。我尝试刷新表,刷新查询缓存,在选择中将查询缓存设置为 OFF,将 inno_db_buffer_pool 设置为 0M .. 什么都没有。在第一次执行查询后,MYSQL 将结果缓存在某处(我认为),因此下一次执行总是需要 0 秒。

4

2 回答 2

1

如果您需要优化查询,SQL_NO_CACHE请在您的SELECT语句中使用。

于 2013-06-06T10:59:06.077 回答
0

第一次运行查询时应该使用 SQL_NO_CACHE 来告诉 MySQL 不要将结果放入缓存中。仅在执行某些查询后应用 SQL_NO_CACHE 是没有意义的。重置您的服务器并使用 SQL_NO_CACHE 前缀执行所有查询。

于 2013-06-07T07:29:21.600 回答