Union all в Access - увеличение времени исполнения?

Ghost
Дата: 01.08.2001 10:52:44
Есть 2 запроса Q1 и Q2
Время выполнения Q1 - 6 сек, Q2 - 4 сек

Ok, надо UNION ALL этих запросов.

SELECT * FROM Q1
UNION ALL
SELECT * FROM Q2

Выполняю -> 28 сек.

Я в шоке.

Кто-нибудь может:
1. Обьяснить тупому, что происходит.
2. Подсказать пути к увеличению быстродействия.
cube
Дата: 01.08.2001 14:36:03
Вопрос №1 переадресую майкрософт
Вопрос №2: ничего не обешая предлагаю сделать временную таблицу и инсертить в нее каждый запрос. Может будет быстрее

И еще: 6 сек Q1 - это потому, что большой, или потому, что навороченный?
ДиД.
Дата: 02.08.2001 06:15:57
А с индексами все впорядке? (на всякий случай)
Ghost
Дата: 02.08.2001 06:26:11
1. Индексы - в абсцессе query analizer отсутствует как класс - так что (( Если кто может дать совет по этому поводу - то дайте, плиз
2. По поводу временных таблиц - спасибо, думал уже - видимо, так и сделаю
3. 6 сек - там 5 таблиц и выборка порядка 30к строк - а на join'ах абсцесс проседает и нехило
Был у меня запрос - на join'ах работал 120 сек, переделал на union - 5 сек.
4. За "послание" на MS - спасибо
Ю
Дата: 17.10.2013 15:54:01
Эх, у меня сейчас та же проблема. Один Union запрос по времени выполняется дольше, чем отдельно 2 запроса, которые в нем объединены.
Ukraina
Дата: 17.10.2013 18:56:04
Ю
Эх, у меня сейчас та же проблема. Один Union запрос по времени выполняется дольше, чем отдельно 2 запроса, которые в нем объединены.


ну попробуйте создать объединение не на базе запросов , а на базе тех таблиц, которые нужны для этих запросов...

Select f,ff,fff,ffff from Tabla1 'Q1
union all
Select f1,ff1,fff1,ffff1 from Tabla2 'Q2


Получится объединения таблиц, а не запросов... Конечно будет уходить много времени, т.к. Акцесс сначала выполнит запрос1, потом 2, а потом будет объединять готовые данные. Причем выполнение запросов будет происходить не на уровне запроса на объединения, а на уровне выполнения внешних запросов.

Есть ряд других методов... в том числе и временная таблица, через аппенд, рекорсет...
Ю
Дата: 18.10.2013 09:02:25
оставила 2 отдельных запроса и поместила их запуск в макрос. Теперь работает быстро =)