Показать сообщение отдельно
  #4 (permalink)  
Старый 04.08.2012, 07:39
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Freakmeister
Вариант А: mysql_query вытаскивает ВСЕ данные из phpbb_posts одним запросом, что очень ресурсоёмко, а потом mysql_fetch_array обрабатывает результат уже средствами php.
Вариант Б: mysql_query просто инициализирует связь с таблицей по выбранному фильтру, без вытаскивания значений, что не даёт особой нагрузки, а само вытаскивание уже происходит маленькими порциями при каждом обращении к mysql_fetch_array.
Вариант Ц: Ты баклан, почему ты не использовал LIMIT в SQL-запросе?
Почему это вариант Б лучше — непонятно. От постоянного дёрганья базе лучше стать не может. А ещё данные, соответствующие выборке, надо где-то хранить. Как это делать с учётом того, что данных могут попросить много, а клиентов может быть ещё больше и всем надо быстро ответить — опять же, неясно. Ну и для идентификации нужен какой-нибудь идентификатор сессии, который придётся пересылать при каждом запросе, что увеличит как сетевую нагрузку, так и время работы БД, т.к. ей придется каждый раз искать данные, соответствующие сессии.
Ответить с цитированием