我遇到了一个问题。我需要(出于教学目的)展示查询的优化过程(例如:2 秒没有任何索引,1 秒有索引......等等)。
我有一个 mysql 数据库,其中有 12 个表,每个表中有 1.000.000 条记录。
问题是:如果我第一次执行查询,需要 x 秒。同一个查询的第二次执行,总是需要 0 秒。我尝试了刷新表、刷新查询缓存、在选择中将查询缓存设置为 OFF、将 inno_db_buffer_pool 设置为 0M.. 什么都没有。在第一次执行查询后,MYSQL 将结果缓存在某处(我认为),因此下一次执行总是需要 0 秒。
最佳答案
如果您需要优化查询,请在 SELECT
语句中使用 SQL_NO_CACHE
。
关于mysql - 优化 MYSQL 查询(InnoDB 表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960314/