Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图了解 MyISAM 如何物理存储其记录。在 MyISAM 存储引擎的可变大小记录中,每条记录后面都有一些未使用的数据。保留多少字节作为未使用的数据?MyISAM 是否使用任何特定算法?
编辑:我必须在这里问另一个问题。插入新记录时,是否会在下一条记录开始之前在该记录的末尾保留任何可用空间以供将来使用?
Eggyal 说的是真的:“未使用的数据是由于删除记录或更新具有较短值的可变长度字符串而产生的”。
这也意味着,除非您“清空”您的数据库,否则每条新记录都会占用该可用空间,即使该记录比可用空间长。根据记录的保存方式,每条记录都有不同的块类型。
如果记录长于可用空间,它将占用所有空间,并“寻找”其他未使用的数据,直到记录被完全写入。
如果没有未使用的数据,则在最后写入记录。