Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 UNION  [new]
R.Rollen
Member

Откуда:
Сообщений: 21
ребята, подскажите как можно разрешить следующую проблему:
- есть 4 выборки (SELECT), объединенные командой UNION (результатом является таблица порядка 1000 строк).
Если их объединить вместе, то данный запрос будет выполняться порядка 8-10 секунд.
Если выполнить два запроса по две выборки, то каждый из запросов выполняется менее секунды.

Соответственно, 2 объединенных запроса по 2 выборки будут выполняться в 4-5 раз быстрее, чем один запрос из 4 выборок.

Как я могу ускорить данный запрос, состоящий из 4 объединенных (UNION) выборок

Спасибо
26 сен 14, 16:10    [16626913]     Ответить | Цитировать Сообщить модератору
 Re: UNION  [new]
Glory
Member

Откуда:
Сообщений: 104751
R.Rollen
Как я могу ускорить данный запрос, состоящий из 4 объединенных (UNION) выборок

Замените UNION на UNION ALL
26 сен 14, 16:12    [16626925]     Ответить | Цитировать Сообщить модератору
 Re: UNION  [new]
R.Rollen
Member

Откуда:
Сообщений: 21
Glory,

ну честно сказать, на производительность в лучшую сторону это не повлияло
26 сен 14, 16:26    [16627004]     Ответить | Цитировать Сообщить модератору
 Re: UNION  [new]
Glory
Member

Откуда:
Сообщений: 104751
R.Rollen
ну честно сказать, на производительность в лучшую сторону это не повлияло

Значит придется переписывать 4 выборки в одну.
Они ведь по одной и той же таблице у вас ?
26 сен 14, 16:29    [16627031]     Ответить | Цитировать Сообщить модератору
 Re: UNION  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
R.Rollen
ускорить данный запрос, состоящий из 4 объединенных (UNION) выборок
Показывайте реальные планы выполнения обоих вариантов, в виде приаттаченных .sqlplan файлов.
26 сен 14, 20:31    [16627876]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить