Я использую Rails и MySQL и задаю вопрос об эффективности на основе подсчета строк.Сохраняет ли количество записей базы данных избыточным?
У меня есть модель Project
, которая has_many :donations
.
Я хочу подсчитать количество уникальных доноров для проекта.
Есть ли поле в таблице projects
с именем num_donors
и приращивание его при создании нового донора?
Или что-то вроде @num_donors = Donor.count(:select => 'DISTINCT user_id')
будет аналогичным или же с точки зрения эффективности благодаря оптимизации базы данных? Будет ли это требовать от меня создания индексов для user_id
и любых других полей, которые я хочу сосчитать?
Выполняется ли тот же ответ для суммирования общей суммы пожертвования?
Любите максиму - не слышали ее раньше. Будем держать это в виду :) – nfm