Windows MyISAM.MYD文件的速度非常慢
我们注意到一些MyISAM.MYD文件(MySQL数据库基表)的复制速度非常慢。C:驱动器和D:驱动器都是SSD;理论限制为500MB/秒数据速率。对于计时,我们关闭MySQL服务。以下是6GB文件test.myd的一些计时示例:Windows MyISAM.MYD文件的速度非常慢,windows,performance,copy,solid-state-drive,Windows,Performance,Copy,Solid State Drive,我们注意到一些MyISAM.MYD文件(MySQL数据库基表)的复制速度非常慢。C:驱动器和D:驱动器都是SSD;理论限制为500MB/秒数据速率。对于计时,我们关闭MySQL服务。以下是6GB文件test.myd的一些计时示例: NET STOP MYSQL56 Step1: COPY D:\MySQL_Data\test.myd C:\Temp --> 61MB / sec copy speed Step2: COPY C:\Temp\test.myd D:\temp
NET STOP MYSQL56
Step1: COPY D:\MySQL_Data\test.myd C:\Temp --> 61MB / sec copy speed
Step2: COPY C:\Temp\test.myd D:\temp --> 463 MB / sec
Step3: COPY D:\Temp\test.myd c:\temp\test1.myd --> 92 MB / sec
奇怪的结果;为什么一个方向的速度与另一个方向的速度如此不同?
让我们试试这个:
NET START MYSQL56
in MySQL: REPAIR TABLE test; (took about 6 minutes)
NET STOP MYSQL56
Step4: COPY D:\MySQL_Data\test.myd C:\Temp --> 463 MB / sec
Step5: COPY C:\Temp\test.myd D:\temp --> 463 MB / sec
Step6: COPY D:\Temp\test.myd c:\temp\test1.myd --> 451 MB / sec
- 有人能解释一下复印速度的不同吗李>
- 首先,是什么导致了复制速度慢
- 修复会有什么不同,但优化我们尝试过的 首先,没有什么不同
- 使用 初始版本(即维修前)?对不起,我没有测试这个 在运行这些测试之前,请执行以下操作
将扫描表格并修复发现的问题。这意味着该表已完全读取REPAIR
复制整个表,然后将其重命名为旧名称。结果就像读取了整个表一样OPTIMIZE
读取一个文件并写入另一个文件。如果目标文件不存在,则必须创建目标文件;在Windows上,这是一个缓慢的过程COPY
- 读取文件时,数据从磁盘(在您的情况下是SSD)中提取并缓存在RAM中。第二次读取将使用缓存的副本,因此速度更快
我正在删除[mysql]和[myisam]标记,因为这个问题实际上只适用于使用Windows和SSD的文件拷贝。Rick,感谢您的关注。我仍然不明白为什么MySQL修复后的表文件复制得这么快。