0

假设我们有 3 个用户[User name="A"], [User name="B"], [User name="C"]

(检查存在)之间是否有区别:

if User.where(name: "A").first

User.all.map(&:name).include? "A"

谢谢你。

4

1 回答 1

5

Using whereonly 通过 SQL 检索与名称匹配的用户。

映射加载所有用户,构建他们的姓名数组,并检查“A”。

对于少数用户,性能差异可以忽略不计,但内存和时间都会在某个点之后受到很大影响,并且where好得多。在数据库中进行工作将是比天真地检索所有数据并在 Ruby 中进行工作更好的选择。

于 2012-08-22T14:41:48.780 回答