Есть ли альтернативам выполнения запроса в БД MySQL в цикле? PHP

программирование php MySQL базы данных

Интуиция мне подсказывает что 30 раз выполнять запрос SELECT, меняя лишь значение $n - не очень хорошо, даже если там данные - строчки около 5 символов.

Может вы знаете лучшее решение или все таки в цикле норм?
Ответы:
Зависит от задачи. Если у вас каждый из запросов возвращает одну строку то можно выполнить одним запросом, в условии WHERE указать диапазон или конструкцию IN (...) а цикл делать уже по результату запроса.
SQL - достаточно гибкий язык, 90% того, что вы делаете в PHP, на самом деле можно сделать внутри запроса. Причём это будет работать на порядки быстрее. Например, для выборки по массиву значений можно использовать where .. in (...,...,..), а в скобках можно даже указать другой select.
Размышляешь правильно. Наверняка в твоем случае один запрос будет производительнее серии мелких однотипных запросов.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.