我想了解MyISAM如何实际存储其记录。 在MyISAM存储引擎可变大小的记录中,每条记录后都有一些未使用的数据。保留多少个字节作为未使用的数据?是否有MyISAM使用的特定算法?
编辑:我在这里要问另一个问题。插入新记录时,在下一条记录开始供将来使用之前,该记录的末尾会重新发送任何可用空间吗?
答案 0 :(得分:0)
eggyal说的是真的:“由于删除记录或更新值较短的可变长度字符串而产生未使用的数据”。
除非您“清空”数据库,否则它还意味着每个新记录将占用该空闲空间,即使记录比可用空间长。每条记录都有不同的块类型,具体取决于记录的保存方式。
如果记录长于可用空间,它将占用所有空间,并“查看”其他未使用的数据,直到记录完全写入。
如果没有未使用的数据,则记录将在最后写入。