姜戈会删除db_index吗?



我正在使用postgresql作为我的django应用程序。 设法删除了近 500000 行,但我的数据库大小并没有显着降低。 像块中的lots.objects.filter(id__in=[ids]).delete()一样使用 smth 删除它们(因为在一个查询中删除这么多行太难了(。

有些列有db_index=True,所以我认为索引没有被删除。 我是否可以从 django 中删除已删除对象的索引? 也许还有一种方法可以查看 Django 中未使用的索引?

这些都与 Django 无关。如果从数据库中删除了某个项目,它总是会自动从任何索引中删除 - 否则索引将不起作用。

通常,您应该让 Postgres 自己确定数据库文件的大小。完成 VACUUM 操作后,已删除的项目将被删除;同样,通常 Postgres 将通过定期调度的守护进程执行此操作。如果您需要专门恢复空间,则可以手动运行真空。请参阅文档。

最新更新