如您在图片中所见,我从 MySQL 获得约 14-15Mb/s(也达到 50-60Mb/s)的写入速度,在 phpMyAdmin 中它显示每秒约 400-500 次写入。 同样在下图中,您可以看到 IO Graph
问题是我找不到这些数据的写入位置。因为我在 mysql 中看不到任何插入/更新查询,而且当我检查目录大小时,它也是一样的。那么这些数据被写入何处?
最佳答案
刚刚偶然发现了我的这个老问题,想给出答案/解释。
实际上,我前一天删除了大约 80-9000 万行。我在晚上 11 点开始删除,查询运行了大约 6-7 个小时才完成。当我使用 InnoDB 时,它只从内存中删除数据而不是从磁盘中删除(起初)。一旦完成,它也开始从磁盘中删除数据。但由于 InnoDB 的性质,即使删除数据后它也不会释放磁盘,文件大小没有变化。
当时我看到的是写入,并且没有运行查询(删除查询),当时我无法确定它正在从磁盘中删除数据。
虽然学习经验很棒(因为生产级服务因 MySQL 响应缓慢而受到影响)。
关于MYSQL写在磁盘上不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38803542/