如何在大型数据库中处理删除?

时间:2019-07-13 20:48:31

标签: database

我正在编写一个简单的数据库,并且试图绕过如何删除记录的话题。

我能想到的最简单的数据库就是文件系统中的一个文件。

插入操作可以

% echo "1 hello" >> db.txt

然后执行查找

% grep 1 db.txt
1 hello

繁荣,我们有一个数据库。

我想从该数据库中删除记录的唯一方法是将整个数据库复制到一个新文件,删除不需要的记录,然后将新文件重命名为db.txt,然后删除旧文件。 / p>

这看起来非常浪费,并且需要将整个数据库加载到内存中,并且通常看起来非常混乱。但是,当然,删除是数据库中不错的功能。我很难相信,每次有人要删除记录时,具有大量信息的数据库都会自行重写。那么,数据库如何有效地执行删除?数据库是否被分割成多个较小的文件,而删除时仅需重写其中之一?

注意:我的意思是实际上是从数据库中删除文件,而不是说添加“已删除”字段并忽略带有查询的记录。

0 个答案:

没有答案