delete是物理删除么?
来源:2-13 MySQL常用存储引擎之Innodb

烈焰卡卡
2020-03-20
这两天看mvcc,大部分网上的说法,都是说数据行有三个隐藏字段,其中有一个是标记数据是否删除的字段,用来实现事务的隔离。难道说mysql在执行delete语句的时候,只是标记了这个删除字段么?那岂不是在长期insert和delete的操作中,数据库文件会无限增大,即使数据很少执行全表扫描也会扫描一遍所有被标记delete的数据
写回答
1回答
-
删除的数据的空间会被重用的,所以不会出现无限增大的情况,另外如果是做了批量删除操作,可以通过optimize table命令来回收空间。
072020-03-20
相似问题