MySQL производительность одного агрегированного запроса против нескольких запросов параллельно - PullRequest
1 голос
/ 29 января 2020

Допустим, у меня есть два следующих запроса, получающих агрегированные данные из двух отдельных таблиц:

SELECT count(*) as count_a
FROM table_a
WHERE some_column = "some_value"
SELECT count(*) as count_b
FROM table_b
WHERE another_column = "another_value"

Запросы выполняются с помощью кода, который использует как count_a, так и count_b в какое-то вычисление

Чтобы получить count_a и count_b, я могу либо выполнить оба запроса параллельно, либо объединить их в один запрос (ниже), который может быть выполнен сам по себе, чтобы получить оба результаты:

SELECT (
  SELECT count(*)
  FROM table_a
  WHERE some_column = "some_value"
) as count_a,
(
  SELECT count(*)
  FROM table_b
  WHERE another_column = "another_value"
) as count_b

Могу ли я заметить заметную (или даже небольшую) разницу в производительности между двумя подходами? Если да, какой подход более эффективен?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...