正如this Firefox bug所提到的,清空数据库的行为完成了什么?这种操作是由所有现代数据库软件支持,还是仅由某些软件支持?

推荐答案

使用MVCC将事务彼此隔离的数据库需要定期扫描表以删除过时的行副本.在MVCC中,当更新或删除行时,不能立即回收该行,因为可能仍有活动事务可以看到该行的旧版本.我们假定旧行保持相关,而不是判断情况是否如此(这可能非常昂贵).回收空间的过程被推迟到清空表之后,根据数据库的不同,可以自动或显式地启动该过程.

Database相关问答推荐

在GO中减少LevelDB数据库大小的问题(Levigo)

如何使授权服务器与外部数据库保持同步?

芭蕾舞女演员坚持 1:N 关系

使用 noSQL 和 MongoDB 在数据库中存储任何类型文件的最佳方法是什么

嵌套事务的目的

什么是 CREATE VIEW IF NOT EXISTS in postgresql

如何在 SQL Server 中生成随机数据?

如何避免使用 LINQ-To-SQL 的内存泄漏?

在表上插入或更新违反外键约束

在 PostgreSQL 上获取数据库创建日期

更新列的子字符串

South migration error: NoMigrations exception for django.contrib.auth

触发器、断言和判断之间有什么区别?

在数据库中使用数组是不好的设计吗?

MySQL 错误 - #1062 - Duplicate entry ' ' for key 2

如何在 SSIS 中插入新记录之前清空我的目标表?

SQL Server 自动备份

为 django 模型自动创建数据的工具

为什么负 id 或零被认为是不好的做法?

最佳事件采购数据库策略