powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Мульти- select, объединение нескольких запросов в 1
8 сообщений из 8, страница 1 из 1
Мульти- select, объединение нескольких запросов в 1
    #38453523
NewLine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

У меня есть 4 однотипных запроса, которые идут друг за другом и
возвращают одно значение полученное функцией count(*) .

Сейчас все 4 запроса выполняются отдельно.

Если я их объединю одни общим запросом вида
Код: sql
1.
select (select 1, select 2, select 3, select 4)


, то
1. Это как-то оптимизирует процесс или в целом ничего не изменится.
2. Уменьшится ли нагрузка на SQL сервер
3. Ну и вообще правильно ли это и так ли нужно объендинять

Спасибо.
Если честно, то не нашел никакой информации по этому вопросу.
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453530
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее, ничего особенного случиться не должно. Если, конечно, MySQL не подключен к клиенту каналом с огромными пингами.
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453536
transpose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine,

если доступ к таблице занимает значительное время, может быть лучше объеденить их все в один но так:
Код: plsql
1.
select count(case x) as count_1, count(case y) as count_2 ... from table; 
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453540
NewLine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
transpose,

Там у каждого select может быть свой JOIN

miksoft,

Получается при обычной работе сервера ничего и не изменится по скорости и по нагрузке и не стоит даже заморачиваться?

или я могу выиграть за счет этого какие-то миллисекунды?
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453547
transpose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLineУ меня есть 4 однотипных запроса
NewLinetranspose,
Там у каждого select может быть свой JOIN
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453552
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLineПолучается при обычной работе сервера ничего и не изменится по скорости и по нагрузке и не стоит даже заморачиваться?

или я могу выиграть за счет этого какие-то миллисекунды?Какие-то - можете.
Но я бы не стал заморачиваться. Хотя для меня "обычная работа" - это подключение к MySQL через юникс-сокет. А что там у вас - не знаю.
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453566
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine,

>> 1. Это как-то оптимизирует процесс или в целом ничего не изменится.
>> 2. Уменьшится ли нагрузка на SQL сервер
>> 3. Ну и вообще правильно ли это и так ли нужно объендинять

не усложняйте без нужды. (Оккама)
...
Рейтинг: 0 / 0
Мульти- select, объединение нескольких запросов в 1
    #38453579
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLineТам у каждого select может быть свой JOIN
Ну так пойди ещё дальше
Код: sql
1.
2.
3.
4.
5.
6.
SELECT
  (select count(..) from ...) cnt1
, (select count(..) from ...) cnt2
, (select count(..) from ...) cnt3
, (select count(..) from ...) cnt4
FROM dual;


Подзапросы будут обработаны независимо, но это будет один пакет обмена, а не несколько. К тому же при общих нижних источниках серверу, возможно, будет попроще с кэшированием таблиц и индексов.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Мульти- select, объединение нескольких запросов в 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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