Перейти к публикации

Функция sum()


ua1907

Рекомендованные сообщения

сайт 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 новостей по одному запросу на новость получается. Может не выводить на главной?

В полной новости и в профиле пользователя. Тут то точно не повредит?

Ссылка на сообщение
Поделиться на других сайтах

да фиг его знает. Не желательно конечно, обычно в таком случае используют отдельные таблицы статистики (или просто столбцы), которые раз в определённое время пересчитываются, например, при добавлении репутации.

Попробуй, а дальше видно будет)

Ссылка на сообщение
Поделиться на других сайтах

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...