powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Параллельное выполнение запросов
17 сообщений из 17, страница 1 из 1
Параллельное выполнение запросов
    #39643524
SBS Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток
Есть такой задача
На одном скрипте последовательно выполняется несколько запросов и сформулируются результаты
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?php
$sql1 = "SELECT * ...";
$data1 = mysqli_query($conn, $sql1);
...

$sql2 = "SELECT * ...";
$data2 = mysqli_query($conn, $sql2);
...

$sql3 = "SELECT * ...";
$data3 = mysqli_query($conn, $sql3);
...
?>


Можно как то параллельно выполнят эти запросы
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39643550
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать fork() + коннекты от разных пользователей. Конечно, если используемые в двух других запросах таблицы не будут по какой-то причине заблокированы первым запросом.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39643570
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle, а зачем от разных пользователей?

Еще pthread можно использовать.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39643573
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBS Soft,

Точно нельзя объединить все запросы в один, скажем, через union, если даже бы пришлось нарастить из-за этого количество колонок?
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39643647
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettvkle, а зачем от разных пользователей?Может и ошибаюсь, до сих пор считал, что мускуль последовательно выполняет запросы одного пользователя. Т.е. в каждый момент времени лишь один запрос активен. Не?
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39643653
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleHettvkle, а зачем от разных пользователей?Может и ошибаюсь, до сих пор считал, что мускуль последовательно выполняет запросы одного пользователя. Т.е. в каждый момент времени лишь один запрос активен. Не?

Точно нет. Как правило одно приложение работает из под одного пользователя, у нас некоторые аналитические запросы часами "висят". Иначе бы они все лочили.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39643664
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettу нас некоторые аналитические запросы часами "висят". Иначе бы они все лочили.Вероятно, этот момент есть смысл обсудить или уточнить отдельно. У меня были до недавнего времени долгоиграйки. И, именно из-за того, что они "всё лочили", пришлось перетащить запросы соответствующего модуля на исполнение от отдельного мускуль-пользователя. Возможно, имеет значение движок таблиц, структура запросов, что-то ещё.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39650829
SBS Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имел виду что, $sql1 выполнялся на процессоре #1, $sql2 на процессоре #2, $sql3 на процессоре #3
Можно так организовать
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39650861
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mysql сам не разберется на каких процессорах ему выполнять? :)
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39650873
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBS SoftЯ имел виду что, $sql1 выполнялся на процессоре #1, $sql2 на процессоре #2, $sql3 на процессоре #3Для гарантированного такого разделения придется ставить три отдельных железячных сервера под MySQL. Можно однопроцессорных. Ну и три коннекта, соответственно. Каждый запрос отправлять на свой сервер.
А на одном сервере мускуль и ОС без Вас будут решать, где какой запрос исполнять.

Вам оно зачем надо?
Попробуйте подробно описать исходную задачу, а не свой метод её решения. Ну и поясните, чем не устраивает последовательное выполнение запросов.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39650927
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тссс... только не говорите тсу, что запрос может повыполнятся и на первом и на втором и даже на всех ядрах
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39650982
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он не о ядрах говорил, он об отдельных процессорах говорил.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39650986
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось уточнить понятие "процессор", в лицензиях майкрософта и оракла под процессором подразумевается ядро.
Если речь идет о действительно разных сокетах, то каким образом numa машина будет работать вторым процессором с памятью, адресованным для первого? (она работать то конечно будет, только вам это надо?)
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39654310
SBS Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle....
Попробуйте подробно описать исходную задачу, а не свой метод её решения. Ну и поясните, чем не устраивает последовательное выполнение запросов.
Для формирования главной страницы web приложении выполняется несколько запросов последовательно
По точнее на главном странице формируется несколько диаграмм по результатам запросов
img
И это требует где то 25-30 секунд (иногда по больше)
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39654331
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам не нравится, что запросы один-за-другим выполняются слишком долго, так понимаю.
Тогда другой вопрос, про объемы исходных данных для выборки. Из каких источников делается выборка - из исходников в сотни тысяч или миллионы строк или из агрегированных, содержащих более-менее подготовленные статистические данные значительно меньших объемов?
На практике первый способ обычно ни к чему хорошему (кроме хороших тормозов) не ведет. В этом смысле гораздо выгоднее сделать одну или несколько дополнительных таблиц на каждую монструозную в контексте запрашиваемых данных. Как их заполнять данными - это уже отдельная песня.
Ну а если исходные данные для выборки агрегированы и имеют вменяемые объемы, а тормоза, тем не менее, имеют место, тогда есть смысл обратить внимание на индексы таблиц и планы запросов.

PS: Картинка по ссылке не открывается.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39654332
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBS SoftПо точнее на главном странице формируется несколько диаграмм по результатам запросовЧто такое "диаграмма" в данном контексте?
Если это отдельные изображения, то они уже запрашиваются параллельно.
Если это одно изображение, которое можно разделить на независимые части, то нужно разделить и они будут запрашиваться параллельно.
...
Рейтинг: 0 / 0
Параллельное выполнение запросов
    #39654388
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftЕсли это отдельные изображения, то они уже запрашиваются параллельно.Пожалуй, стоит добавить немного. В этом варианте, если в серверных скриптах используется пхпшная сессия, то она должна закрыта, как минимум, на время исполнения долгоиграющей части скрипта. Иначе механизм сессий PHP выстроит запросы от веб-клиента в очередь.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Параллельное выполнение запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]