我在mysqld.exe(Xampp)中获得高磁盘使用率

时间:2017-01-10 02:06:54

标签: mysql windows xampp

enter image description here

数据库大小只有200MB。我尝试使用phpmyadmin中的内置工具修复它确实有帮助,但它会回到更高的磁盘使用率。

操作系统:Windows 10

1 个答案:

答案 0 :(得分:3)

最可能的解释是,您正在运行大量使用临时空间的查询。但这只是猜测,因为您没有提供有关MySQL服务器中运行的内容的信息。

使用GROUP BYORDER BYDISTINCT来使用临时空间的MySQL查询很常见。有时会有很多临时空间,或者有时会有一点空间,但每秒钟会有很多查询。这可以解释报告的磁盘I / O速率。

您可以通过仔细优化查询来减少这种情况,以便它们使用索引而不是在磁盘上的临时空间中进行排序或分组。查询优化的主题很大,而且无法覆盖Stack Overflow帖子。

如果您需要有关优化特定查询的帮助,则应该询问该查询的问题,以及查询中每个表的SHOW CREATE TABLESHOW TABLE STATUS的输出。

磁盘I / O的其他用途可以快速发生。

例如,如果您的缓冲池太小,并且您的查询反复扫描完整的200MB数据,那么MySQL服务器将被强制一遍又一遍地替换缓冲池中的页面,每次从磁盘读取相同的数据时间。如果您可以为缓冲池分配更多RAM,则可以降低页面回收率,并可能大大加快您的整体性能。

另一个例子是,如果您使用UPDATE一遍又一遍地更改数据,您可能会在事务日志和二进制日志中写入大量I / O,即使数据的总大小也是如此没有成长。

调整数据库服务器是一个复杂的过程。如果您需要帮助调整MySQL选项,最好在dba.stackexchange.com上询问。在mysql.ini中包含您的MySQL版本和当前选项。