5

我有一个大约 75 GB 的 sqlite 数据库。在数据库上创建索引需要将近 4 个小时。索引后,文件大小约为 100 GB。

通常,我必须修改(插入/删除/更新)大块(几 GB)数据。截至目前,我在修改表之前删除了索引。修改完成后,将重新创建索引。

删除索引需要大量时间(它与创建索引的顺序相同)。

在一些非常特殊的情况下(当需要重新生成整个数据时),我可以写入一个新的数据库文件并将其替换为原始文件。这种策略不需要我删除索引。

如果我不能只切换数据库文件,我该怎么做才能加快索引删除?欢迎任何建议/想法。

这是我认为单文件数据库的局限之一。如果表/索引存储在单独的文件中,则可以简单地将这些文件标记为已删除。

4

0 回答 0