最佳答案
最可能的解释是您正在运行大量使用临时空间的查询。但这只是一个猜测,因为您没有提供有关 MySQL 服务器中正在运行的内容的信息。
MySQL 查询通常使用 GROUP BY
或 ORDER BY
或 DISTINCT
来使用临时空间。有时有很多临时空间,有时有一点空间,但每秒有很多查询。这可以解释报告的磁盘 I/O 速率。
您可以通过仔细优化查询来减少这种情况,以便它们使用索引而不是在磁盘上的临时空间中进行排序或分组。查询优化的主题很大,在 Stack Overflow 帖子中无法涵盖太多内容。
如果您需要帮助优化特定查询,您应该针对该查询提出问题,并提供每个表的 SHOW CREATE TABLE
和 SHOW TABLE STATUS
的输出在查询中。
磁盘 I/O 的其他用途也可以快速发生。
例如,如果您的缓冲池太小,并且您的查询重复扫描完整的 200MB 数据,那么 MySQL 服务器将被迫一遍又一遍地替换缓冲池中的页面,每次从磁盘读取相同的数据时间。如果您可以为缓冲池分配更多 RAM,则可以降低页面回收率,并且可能会大大提高整体性能。
另一个例子是,如果您使用 UPDATE
一遍又一遍地更改数据,您可能会向事务日志和二进制日志写入大量 I/O,即使总大小您的数据不会增长。
调整数据库服务器是一个复杂的过程。如果您需要帮助调整 MySQL 选项,最好在 dba.stackexchange.com 上询问。包括您的 MySQL 版本以及 mysql.ini
中的当前选项。
关于mysql - 我在 mysqld.exe (Xampp) 中遇到高磁盘使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41560031/