Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
ShultZ
Guest
SELECT SUM(A), B,C,D from table1 group by B,C,D

Таблица(300 миллионов записей) партицирована по D (100 секций)
партицировать по B и C нельзя.
Есть подозрение что параллелли забирают каждая полную копию таблицы а не только свою партицию т.к. уже 8 часов все "висит".
Как исправить?
Другими словами нужен аналог PQ_DESTRIBUTE но не для соединения а для обычной группировки
24 фев 09, 12:21    [6852953]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
ShultZ,

подумайте про предварительно материализовать запрос
SELECT SUM(A) a, B,C,D from table1 group by d,B,C
24 фев 09, 12:25    [6852986]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
ShultZ
Guest
не пойдет к сожалению. Таблица table1 полностью перестраивается раз в неделю.
24 фев 09, 12:30    [6853011]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
ShultZ
не пойдет к сожалению. Таблица table1 полностью перестраивается раз в неделю.

ну и что из того?
материализация - может быть реализована и (именно) хинтом в запросе
(впрочем, имхо, всё таки за мвью)
24 фев 09, 12:37    [6853080]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
orawish
group by d,B,C
э... а какая Ораклу разница?...

ShultZ
Таблица table1 полностью перестраивается раз в неделю.
300 млн - полностью каждую неделю?? "Тяжела и неказиста ...." :(

ShultZ
т.к. уже 8 часов все "висит"..
А с областью памяти под такую гигантскую группировку у Оракла как?
24 фев 09, 12:38    [6853090]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
Andrey.L
Member

Откуда: Харьков
Сообщений: 1546
ShultZ
не пойдет к сожалению. Таблица table1 полностью перестраивается раз в неделю.
Похоже ты не заметил в посте orawish'а, что он еще предлагает колонку D в части group by перенести на первую позицию. Думаю, что это может помочь, т.к. у тебя таблица партицирована по D.
24 фев 09, 12:40    [6853114]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
Shultz
Guest
про порядок в group by не заметил, спасибо. Щаз попробую.
Область Темп меньше чем вся таблица.

Как проверить для такого запроса что параллель взяла только часть таблицы а не всю?
24 фев 09, 12:47    [6853185]     Ответить | Цитировать Сообщить модератору
 Re: сумма с группировкой по таблице 300М каким хинтом ускорить?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
вообще, параллелить что-либо (большое, на ~100 и с успехом) можно тогда, когда ресурсов ваааще немерено


Можно ли параллельно построить несколько индексов.
24 фев 09, 12:48    [6853191]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить