重置 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 被积极使用,而不是被清除。所以,我更喜欢 运行 查询两次并使用第二次计时。
另外,关闭查询缓存是明智的。
更多学习练习内容:
我正在使用 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 被积极使用,而不是被清除。所以,我更喜欢 运行 查询两次并使用第二次计时。
另外,关闭查询缓存是明智的。
更多学习练习内容: