Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Объединение нескольких полей в одно  [new]
realfreeman
Member

Откуда: Москва
Сообщений: 274
Доброго времени суток всем.
Просветите меня пожалуйста вот в каком вопросе: возможно ли в принципе объединить данные из разных таблиц в одно результирующее поле select'a?
Т.е. есть 3 таблицы, в каждой таблице есть поле DATE, мне необходимо, чтобы в результируюшем select'e по календарному порядку шли даты из этих самых трех таблиц. Есть вариан использования UNION ALL, при котором пишем 3 select'a, а потом сортируем по дате то, что получилось, только вот работает это неприемлимо медленно.
17 май 06, 17:50    [2675894]     Ответить | Цитировать Сообщить модератору
 Re: Объединение нескольких полей в одно  [new]
56789
Guest
Другие варианты, очевидно, будут еще медленнее
Лечится добавлением индексов по полям даты
17 май 06, 17:57    [2675945]     Ответить | Цитировать Сообщить модератору
 Re: Объединение нескольких полей в одно  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116218
Можно более конкретно ?
Вам только даты нужно объединять ?
Покажите плиз медленный вариант с UNION...
17 май 06, 17:58    [2675954]     Ответить | Цитировать Сообщить модератору
 Re: Объединение нескольких полей в одно  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18363
dmidek
Можно более конкретно ?
Вам только даты нужно объединять ?
Покажите плиз медленный вариант с UNION...

ИМХО тут все ясно - сортировать толстый результат UNION приходится полностью, отсюда и проблемы.
И лечение назначить можно... Например, индексированное мат. представление на основе того же union...
Вот только удвоить объем данных не всякая система позволит.
Да и требования к оперативности обновления такого представления будут конфликтовать с требованиями по производительности DML на базовых таблицах.
17 май 06, 18:01    [2675991]     Ответить | Цитировать Сообщить модератору
 Re: Объединение нескольких полей в одно  [new]
Tolmachov Dmitiry
Member

Откуда: Москва, Пенза
Сообщений: 1520
56789
Другие варианты, очевидно, будут еще медленнее
Лечится добавлением индексов по полям даты
Не думаю, что индексы в разных таблицах при объединении будут играть какую-либо положительную роль.
17 май 06, 18:03    [2675998]     Ответить | Цитировать Сообщить модератору
 Re: Объединение нескольких полей в одно  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18363
Tolmachov Dmitiry
56789
Другие варианты, очевидно, будут еще медленнее
Лечится добавлением индексов по полям даты
Не думаю, что индексы в разных таблицах при объединении будут играть какую-либо положительную роль.

Только если суметь заюзать sort merge join...
Например, изначально строить соединение, а уровнем выше - размножать получившиеся записи и формировать атрибуты датасета посредством decode...
:)
17 май 06, 19:05    [2676305]     Ответить | Цитировать Сообщить модератору
 Re: Объединение нескольких полей в одно  [new]
realfreeman
Member

Откуда: Москва
Сообщений: 274
У меня вот какая идея возникла: может просто созать временную таблицу, в нее заливать данные из трех таблиц функциями, а потом делать select из временной таблицы? Просто со временными таблицами не работал, могут ли возникнуть какие-нибудь подводные камни при такой реализации???
18 май 06, 11:00    [2677749]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить