数据库包含10万条记录时,rails find_or_create_by变慢

时间:2019-06-04 06:29:48

标签: ruby-on-rails ruby postgresql

尽管我在find_or_create_by字段上设置了索引,但我注意到SELECT会降低数据的接收速度。关于如何加快速度的任何建议?我正在使用postgres

1 个答案:

答案 0 :(得分:2)

find_or_create_by只不过是where的{​​{1}}查询,如果结果为limit 1,它将触发NULL查询以返回新对象。

如果您已将索引正确添加到列中,那么它将比预期的要快得多。

但是对于您描述的大型数据库,我建议您使用sidekiq

在后台运行此类操作