CQRS批量操作的性能问题
假设Book是一个聚合实体,现在要删除某一个Book没有问题,通过仓储Repository加载实体,然后调用其delete方法即可,但现在问题来了,如果DB中有上万个Book需要一次性批量全部删除,那么应该如何设计呢,看下面的代码:
|
这种设计有两个缺点:
1. 脱了裤子放屁,还不如直接调用bookRepository.deleteAllBooks()
2. 性能降低,获取所有的Data Book,然后调用实体中的delete方法
3. 分页删除,如果有100万Book需要全部清零,那么一定需要分多次调用findBooks获得数据实体,这会严重影响性能
各位版友有何建议?