This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
出于性能原因,对 MyISAM 表的索引更改不会立即刷新到磁盘。如果您的 MySQL 服务器在索引完全刷新到磁盘之前被终止,那么数据(尽快刷新)和索引之间就会存在不一致。在这种情况下,修复模式下的 myisamchk 可以修复索引(与 REPAIR 表几乎相同,但在使用的内存量方面更灵活,因此速度也更灵活)。
Index changes to MyISAM tables are not immediately flushed to disk for performance reasons. If your MySQL server is killed before the indexes are completely flushed to disk, then there is an inconsistency between the data (which is flushed asap) and the indexes. In this case, myisamchk in repair mode can fix the indexes (which is pretty much the same as REPAIR table, but is more flexible in the amount of memory it uses and hence its speed).
MyISAM 因它而臭名昭著,尤其是在旧版本中。这也会影响所有其他引擎,所有引擎都使用 MyISAM 来存储其表信息(信息架构使用 MyISAM)。
原因未知,这是一个非常古老的错误。您可以尝试修复,这是针对此问题创建的解决方法。
祝你好运!
MyISAM is infamous for it, especially in older versions. This also affects all other engines, all engines use MyISAM to store their table information (information schema uses MyISAM).
The cause is unknown, it's a very old bug. You could try REPAIR, a work around created for this problem.
Good luck!