Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Мульти- select, объединение нескольких запросов в 1 / 8 сообщений из 8, страница 1 из 1
05.11.2013, 18:07:50
    #38453523
NewLine
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мульти- select, объединение нескольких запросов в 1
Добрый день.

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

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

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


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

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

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

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

miksoft,

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

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

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

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

не усложняйте без нужды. (Оккама)
...
Рейтинг: 0 / 0
05.11.2013, 18:45:38
    #38453579
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мульти- select, объединение нескольких запросов в 1
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
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Мульти- select, объединение нескольких запросов в 1 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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