技术开发 频道

MYISAM 静态格式数据存储结构

  4. 如果行被删除了

  继续3的例子,我们删除第一行数据:

  delete from heyf_5 where id=12;

  system hexdump /opt/mysql/data/test/heyf_5.MYD

  0000000 ff00 ffff ffff 66ff 2020 2020 2020 7320

  0000010 7274 6565 2d74 2031 2020 2020 2020 2020

  0000020 2020 ff20 000d 0000 7473 7665 6e65 2020

  0000030 2020 7473 6572 7465 322d 2020 2020 2020

  0000040 2020 2020 2020

  我们发现header的值变成了"00",这就是一个行被DELETE的标志.

  但在我们同时注意到,第一行的数据,只有紧跟着Header后面6个字节被置成了'ff',其它数据没有变.

  5. 被删除后,空间重复使用

  继续4的例子,

  insert into heyf_5 values (23,'aaa','bbbb'),(34,'ccc','ddddd');

  system hexdump /opt/mysql/data/test/heyf_5.MYD

  0000000 17ff 0000 6100 6161 2020 2020 2020 6220

  0000010 6262 2062 2020 2020 2020 2020 2020 2020

  0000020 2020

  ff20 000d 0000 7473 7665 6e65 2020

  0000030 2020 7473 6572 7465 322d 2020 2020 2020

  0000040 2020 2020 2020

  22ff 0000 6300 6363 2020

  0000050 2020 2020 6420 6464 6464 2020 2020 2020

  0000060 2020 2020 2020 2020 0020

  在这里我们看到了,被删除的空间马上得到了填充.

0
相关文章