我有一个包含一组用户域对象的组域对象 该组对象可能有200,000个用户。
在测试这个时,我发现用groupModel.delete(flust:true)删除这个组甚至删除组对象groupModel.users.clear()上的所有用户时有200,000个用户非常慢 组域对象具有级联:为用户设置'all-delete-orphan'
有没有人对如何加快这些删除操作提出任何建议
答案 0 :(得分:5)
你不想在每次删除时刷新,这将非常慢。将删除放在服务/事务中,然后执行groupModel.delete()。请记住,删除200,000条记录加上所有级联记录的时间要长于100条记录。但如果你让Hibernate担心潮红而不是强迫它会更快。