Каковы преимущества использования нескольких запросов MySQL в инструкции, кроме как свести к минимуму код.
Как выполнять, извлекать и отображать результаты нескольких запросов MySQL, отправленных в одном выражении с использованием PHP (и предпочтительно PDO).
Независимо от того, какую базу данных вы используете, может быть более эффективным размещать несколько запросов в одном выражении. Если вы выполняете запросы отдельно, вы должны сделать вызов в базу данных по сети (или, по крайней мере, между процессами, если на том же компьютере), получить к ней подключение (в том числе и авторейтинг), передать запрос, вернуть resultset и освободить соединение для каждого запроса.
Даже если вы используете объединение пулов, вы все равно отправляете больше запросов туда и обратно, чем это необходимо.
Так, например, если вы объедините два запроса в один, вы сохранили все эти дополнительные вызовы назад и вперед для второго запроса. Чем больше запросов вы совмещаете, тем более эффективным может стать ваше приложение.
В другом примере многие приложения заполняют списки (например, для dropdownlists), когда они запускаются. Это может быть несколько запросов. Выполнение их всех в одном вызове может ускорить время запуска.
mysql_query () не поддерживает несколько запросов. Однако есть некоторые обходные пути:
http://www.dev-explorer.com/articles/multiple-mysql-queries
http://php.net/function.mysql-query
Сегодня я занимался некоторыми исследованиями и наткнулся на эту тему. Ни один из приведенных выше ответов не дает жизнеспособного решения этой простой проблемы.
Используя подход OO, вы можете выполнять несколько запросов запроса в одном соединении с помощью метода multi_query ().
$db_connection->multi_query($query);
Запросы должны быть хорошо сформированы и разделены точкой с запятой ->;
в руководстве по PHP для получения более подробной информации о том, как обрабатывать данные SELECT
Несколько запросов на один и тот же вызов особенно полезны, когда вам нужно работать с переменными сеанса и временными таблицами:
select somecol, @somevar := group_concat( distinct somecol2 separator '|') from sometbl where somecol LIKE "fueh" group by somecol; select somecol2 from sometbl where somecol LIKE "nyan" and vc_wp regexp concat( '(', @somevar, ')' ) order by somecol;