Rails Activerecord::Relation中count、size、length的不同之处
#count总是会生成Sql语句访问数据库。#length会加载所有记录,并且计算结果Array中的长度。#size会聪明地选择是否访问数据库,根据我们是否已经加载了数据。
结论
- 尽量使用
#size, 除非你需要立即获得记录的总数 - 因为
#size已经做了聪明的选择,所以尽量避免使用#count
View Comments...
#count 总是会生成Sql语句访问数据库。#length 会加载所有记录,并且计算结果Array中的长度。#size 会聪明地选择是否访问数据库,根据我们是否已经加载了数据。#size, 除非你需要立即获得记录的总数#size已经做了聪明的选择,所以尽量避免使用#count