ua1907 0 Опубликовано: 16 ноября 2008 Рассказать Опубликовано: 16 ноября 2008 (изменено) сайт prognozist.ru Прекручиваю мод репутации. Автор мода участник этого форума. Спасибо ему огромное за написание модуля, но возник вопрос на счет оптимизации скрипта. Нужно репутацию выводить за 30 последних дней и за 365 дней (за год) Реализованно с помощью функции sum() - это большую нагрузку даст на сервер? $monthRes = $db->super_query("SELECT sum(reputation) as result FROM " .PREFIX. "_reputation WHERE date > ADDDATE(now(),INTERVAL -30 DAY)"); $tpl->set('{month_reputation}', $monthRes['result']); $yearRes = $db->super_query("SELECT sum(reputation) as result FROM " .PREFIX. "_reputation WHERE date > ADDDATE(now(),INTERVAL -365 DAY)"); $tpl->set('{year_reputation}', $yearRes['result']); т. е. при каждом выводе тегов {year_reputation} и {month_reputation} скрипт делает запрос sum () к БД. Это большая нагрузка считается? Таблица состоит из 5 столбцов (id id_users id_teme date ну и само значение репутации). Таблица будет расти примерно по 5 - 20 строк в день. На главной планируется выводить 12 новостей по одному запросу на новость получается. Может не выводить на главной? В полной новости и в профиле пользователя. Тут то точно не повредит? Изменено 16 ноября 2008 пользователем ua1907 Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 16 ноября 2008 Рассказать Опубликовано: 16 ноября 2008 да фиг его знает. Не желательно конечно, обычно в таком случае используют отдельные таблицы статистики (или просто столбцы), которые раз в определённое время пересчитываются, например, при добавлении репутации. Попробуй, а дальше видно будет) Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.