我在 rails simple activerecord 查询中看到了上述问题
where(email:email).first_or_create!
find_or_create_by!(phone_number: phone_number)
这两个查询都不是任何其他查询的一部分,这意味着不包含在任何连接/包含查询中。但是对于一个独立的查询,为什么会出现这个问题?
仅仅因为一个操作被多次调用,不同的输入不能被称为 N+1 查询问题。
def email_address(email)
email = email.downcase
begin
where(email:email).first_or_create!
rescue ActiveRecord::RecordNotUnique
find_by_email(email)
end
end
Assume that the method was called [arry_of_emails].map {|x| email_address(x)}