Rails 的数据库查询,如 User.find(1) 是一次查询出了 id 为 1 的一行数据吧?那有时候我只需要验证 id 为 1 的数据是否存在,岂不是浪费资源去获取了很多冗余数据,Rails 有没有延迟加载的说法呢?
User.exists?(1)
#1 楼 @zgm 总感觉 find_by_...什么的方法不喜欢,因为它老是取出冗余数据,喜欢用 select([:user_id, :user_name...]).where,是我太怪吗?- -
#2 楼 @egg_show 加 seclect 的话很有可能在你以后加字段的时候出现尴尬情况
#3 楼 @zj0713001 倒也是,各有利弊 - -
功能没出来之前,不要考虑什么效率,因为你都不知道真正需要优化的在什么地方
https://ruby-china.org/topics/5695
可惜,我们的编码规约要求 select 必须要写只需要查询的字段名