作为学习练习,我正在尝试用 C# 编写一个简单的嵌入式数据库。一切都很好,但是在将数据保存到磁盘时我真的陷入了困境。
作为我的一个问题的一个例子。我可能需要将数据“插入”到数据文件的中间。这对于顺序文件访问显然是不可能的。出于明显的性能原因,每次插入时都重写文件的整个后半部分不是一种选择。
我能想象的唯一解决方案是在文件中写入每个表,然后是一些空白空间。空白空间将用于写入新数据,并且每次表用完其可用空间时,文件都需要重组/增长。
我想我的问题是......典型的数据库数据文件中的数据“看起来”到底是什么?新数据如何/在哪里写入文件?