文章 2022-06-24 来自:开发者社区

每日一面 - mysql中,innodb表里,某一条数据删除了之后,这条数据会被真实的擦掉码?(下)

查看数据:发现COMPACT行记录格式下,对于变长字段的更新,会使原有数据失效,产生一条新的数据在末尾。第一行数据原有的被废弃,记录头发生变化,主要是打上了删除标记,这个稍后我们就会提到。第一行新数据:变长字段长度列表:82 80 10 08 Null值列表:00 记录头信息:00 00 30 01 04 隐藏列DB_ROW_ID:00 00 00 00 08 0c 隐藏列DB_TRX_...

每日一面 - mysql中,innodb表里,某一条数据删除了之后,这条数据会被真实的擦掉码?(下)
文章 2022-06-24 来自:开发者社区

每日一面 - mysql中,innodb表里,某一条数据删除了之后,这条数据会被真实的擦掉码?(上)

以 Compact 行格式为例:总结删除一条记录,数据原有的被废弃,记录头发生变化,主要是打上了删除标记。也就是原有的数据 deleted_flag 变成 1,代表数据被删除。但是数据没有被清空,在新一行数据大小小于这一行的时候,可能会占用这一行。这样其实就是存储碎片,要想减少存储碎片,可以通过重建表来实现(例如对于高并发大数据量表,除了归档,还可以通过利用无锁算法Alter修改字段来重建表增加....

每日一面 - mysql中,innodb表里,某一条数据删除了之后,这条数据会被真实的擦掉码?(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

数据库领域前沿技术分享与交流

+关注
相关镜像