我正在使用Rails和MySQL,针对行计数有一个效率问题。
我有一个“Project”模型,其中包含“has_many:donations”。
我想要计算项目的独立捐赠人数。
在“projects”表中创建一个名为“num_donors”的字段,在创建新捐赠者时将其递增是一个好主意吗?
或者类似于“@num_donors = Donor.count(:select => 'DISTINCT user_id')”这样的语句是否会基于数据库优化而产生类似或相同的效果?这是否需要我为“user_id”和其他任何我想计数的字段创建索引?
对于总捐款金额的求和操作是否同样适用?
我有一个“Project”模型,其中包含“has_many:donations”。
我想要计算项目的独立捐赠人数。
在“projects”表中创建一个名为“num_donors”的字段,在创建新捐赠者时将其递增是一个好主意吗?
或者类似于“@num_donors = Donor.count(:select => 'DISTINCT user_id')”这样的语句是否会基于数据库优化而产生类似或相同的效果?这是否需要我为“user_id”和其他任何我想计数的字段创建索引?
对于总捐款金额的求和操作是否同样适用?