![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: нет Всего: 4 |
Как это сделать эффективно?
Вариант с 30 полей, и подсчет суммы этих полей как то слишком сложно как мне кажется... допустим если мы на 31ом дне то уже ячейки должны переписываться... но так ли это делают профи? Как вариант экономии сразу думаю в сторону var_explode и сохранение значений через : Но тогда гемор обновлять ... А ведь такая задачка довольна таки распространенная в интернете в той или иной форме |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
вообще-то, такая распространённая задача имеет два решения.
первый вариант, вообще ничего дополнительного не вводить. просто пройтись поиском по таблице сообщений и посчитать сколько сообщений было именно у тебя за последний месяц:
второй вариант - завести отдельную таблицу с полями id, id_user, date, добавлять туда запись при каждом новом сообщении, и провести затем тот же самый запрос, что выше только зачем здесь вторая таблица? |
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: нет Всего: 4 |
bars80080, Спасибо, отличные решения!
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Muerto, не забудьте индекс на "date" поставить.
|
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: нет Всего: 4 |
Один только недостаток я вижу с точки зрения оптимизации
Если я захочу вывести статистику по самому активности пользователей за месяц по сообщениям, это потребует не хилого запроса... Даже так за 3 секунды и не придумаю как такое я бы сделал, опыта с базами данных не так много пока что..., Всплывает термины как count, и group by... Это сообщение отредактировал(а) Muerto - 5.9.2010, 18:10 |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
что-то вроде этого. 1-го числа, вроде как, надо начинать новую статистику. В принципе - можно поптимизировать, но imho, mysql и так умный... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Выдаст список юзеров и количества сообщений за посл. месяц, сортированный по количеству сообщений. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |