sqlite drop index非常慢

San*_*ari 5 sqlite indexing sql-drop

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

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

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

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

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

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