Django删除db_index吗?

时间:2017-07-12 10:36:51

标签: python django postgresql

我正在为我的django应用程序使用postgresql。 管理删除近50万行,但我的数据库大小没有显着降低。 使用像#pragma mark UItableView Delegate -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { YourTableCell *cell=[tableView dequeueReusableCellWithIdentifier:@"YourTableCell" forIndexPath:indexPath]; cell.delegateDealDetails=self; } // Custom Delegate Callback method -(void)webViewDidStartedScrolling { tblDealDetails.scrollEnabled=NO; } -(void)webViewDidStoppedScrolling { tblDealDetails.scrollEnabled=YES; } 这样的smth删除它们(因为在一个查询中删除这么多行太难了)。

有些列有lots.objects.filter(id__in=[ids]).delete(),所以我认为索引不会被删除。 我是否有可能从django中删除已删除对象的索引? 也许还有办法从Django看到未使用的索引?

1 个答案:

答案 0 :(得分:0)

这些都与Django无关。如果从数据库中删除某个项目,它将始终自动从任何索引中删除 - 否则索引将无法正常工作。

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