新手问题 如何解决复制拥有多层多个关联对象时的性能问题?

Insub · 2020年07月19日 · 最后由 Insub 回复于 2020年07月20日 · 1861 次阅读

场景如下:
Plan 表,2 万条数据
Oneday 表,20 万条数据
Event 表,100 万条数据
典型情况是一个 Plan 有 10 个 Oneday,每个 Oneday 又有 10 个 Event

现在有允许复制某个 Plan 的需求,这些子对象都需要复制并且关联起来。
尝试用了 includes 去 find 源 plan 对象,并且将创建相关 onedays 和 events 的操作都放在了 ActiveRecord::Base.transaction 里面了,可是复制一次还是要差不多 10000 ms ....

表索引情况以及代码贴出来看一下

@pinewong 问题已经解决了,是索引的问题,谢谢~

需要 登录 后方可回复, 如果你还没有账号请 注册新账号