重置 mysql 8 中所有查询的性能

Reset performance of all queries in mysql 8

我正在使用 MySQL 8 进行学习。我为一个查询创建了覆盖索引,显着提高了它的速度。现在我删除了那个索引并重新启动了我的计算机,但查询性能似乎或多或少保持不变。 有什么方法可以重置 MySql 8.0 的状态,以便我可以再次测试我的所有查询,就好像它们是第一次 运行 一样?

关闭这些:

mysql> show variables like 'innodb_buffer_pool%at%';
+-------------------------------------+-------+
| Variable_name                       | Value |
+-------------------------------------+-------+
| innodb_buffer_pool_dump_at_shutdown | ON    |
| innodb_buffer_pool_load_at_startup  | ON    |
+-------------------------------------+-------+

当它们打开时,这可能是 MySQL 8 的 default,buffer_pool(InnoDB 的主要缓存机制)即使在重启。

因此,更改您的设置以关闭它们,然后仅重新启动 mysqld 以使 MySQL 进入“冷”状态。

我采取不同的方法...重要的时机是在“生产”环境中会发生什么——buffer_pool 被积极使用,而不是被清除。所以,我更喜欢 运行 查询两次并使用第二次计时。

另外,关闭查询缓存是明智的。

更多学习练习内容: