| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Сколько сообщений я написал за последний месяц? |
| Автор: Muerto 5.9.2010, 16:24 |
| Как это сделать эффективно? Вариант с 30 полей, и подсчет суммы этих полей как то слишком сложно как мне кажется... допустим если мы на 31ом дне то уже ячейки должны переписываться... но так ли это делают профи? Как вариант экономии сразу думаю в сторону var_explode и сохранение значений через : Но тогда гемор обновлять ... А ведь такая задачка довольна таки распространенная в интернете в той или иной форме |
| Автор: bars80080 5.9.2010, 16:41 | ||
| вообще-то, такая распространённая задача имеет два решения. первый вариант, вообще ничего дополнительного не вводить. просто пройтись поиском по таблице сообщений и посчитать сколько сообщений было именно у тебя за последний месяц:
второй вариант - завести отдельную таблицу с полями id, id_user, date, добавлять туда запись при каждом новом сообщении, и провести затем тот же самый запрос, что выше только зачем здесь вторая таблица? |
| Автор: Muerto 5.9.2010, 17:20 |
| bars80080, Спасибо, отличные решения! |
| Автор: sergejzr 5.9.2010, 17:46 |
| Muerto, не забудьте индекс на "date" поставить. |
| Автор: Muerto 5.9.2010, 18:08 |
| Один только недостаток я вижу с точки зрения оптимизации Если я захочу вывести статистику по самому активности пользователей за месяц по сообщениям, это потребует не хилого запроса... Даже так за 3 секунды и не придумаю как такое я бы сделал, опыта с базами данных не так много пока что..., Всплывает термины как count, и group by... |
| Автор: ksnk 5.9.2010, 18:39 | ||
что-то вроде этого. 1-го числа, вроде как, надо начинать новую статистику. В принципе - можно поптимизировать, но imho, mysql и так умный... |