我正在为我的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看到未使用的索引?
答案 0 :(得分:0)
这些都与Django无关。如果从数据库中删除某个项目,它将始终自动从任何索引中删除 - 否则索引将无法正常工作。
通常你应该让Postgres自己确定数据库文件的大小。完成VACUUM操作后,将删除已删除的项目;再次,通常Postgres将通过定期安排的守护进程执行此操作。如果需要专门恢复空间,则可以手动运行VACUUM。请参阅the docs。