Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите заменить множество запросов одним
Покинул форум
Сообщений всего: 10
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Вот собственно такое название, даже не придумал как правильно назвать те извращения, что мне нужны.
Собственно, имеется у меня страница с, так сказать, статистикой. На ней список пользователей, и у каждого пользователя есть строка с, предположим, сообщениями. Эти сообщения записаны в базу данных. В текущий момент я их считаю таким образом:
То есть обычный подсчет количества записей.
На странице около 100 пользователей. В итоге на каждого пользователя приходится делать этот запрос. А помимо этого запроса делаются еще три. Итого около 400 запросов за загрузку страницы. Из-за такого обилия запросов страница грузится с минуту, а иногда и дольше.
Вот решил оптимизировать все это. Решил начать с подсчета сообщений. Возможно ли все это как-то сделать красиво? Для примера получить с базы всех пользователей и все сообщения типа вот так:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.