Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ускорить группировку / 10 сообщений из 10, страница 1 из 1
16.08.2017, 17:51
    #39506501
chrrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
есть очень длинная таблица table, группировка которой занимает непозволительно долгое время

есть вот такой подзапрос вида

select
product_id,

count
(distinct date) days_online,

min(date) online_since

from table

group by product_id

Как можно сделать его быстрее?
...
Рейтинг: 0 / 0
16.08.2017, 17:54
    #39506502
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
chrrr,

Для подобных решений обычно используется механизм materialized view log + materialized view + query rewrite.
Волшебных способов ускорить подобный запрос нет.
...
Рейтинг: 0 / 0
16.08.2017, 17:54
    #39506503
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
chrrrподзапрос
Покажите общий запрос с этим подзапросом и его план.
...
Рейтинг: 0 / 0
16.08.2017, 18:29
    #39506534
j2k
j2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
...
Рейтинг: 0 / 0
16.08.2017, 18:47
    #39506542
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
j2k,

не пойдет... тут фулскан нужен и скорее всего он и происходит
...
Рейтинг: 0 / 0
16.08.2017, 23:57
    #39506602
Sergei.Agalakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
Зависит от распределения данных. Можно попробывать создать индекс на product_id, date и попробывать трюк xtender. Если таблица широкая, product мало, а date много, то можно получить приличный выигрыш по сравнению с full scan.
...
Рейтинг: 0 / 0
17.08.2017, 10:00
    #39506664
grok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
Sergei.AgalakovЗависит от распределения данных. Можно попробывать создать индекс на product_id, date и попробывать трюк xtender. Если таблица широкая, product мало, а date много, то можно получить приличный выигрыш по сравнению с full scan.

parallel еще можно, не ?
...
Рейтинг: 0 / 0
17.08.2017, 11:22
    #39506716
ORA__SQL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
chrrrКак можно сделать его быстрее?Если в запросе действительно всего 2 поля product_id и date то, напрашивается index fast full scan + parallel (по ситуации)
...
Рейтинг: 0 / 0
17.08.2017, 15:24
    #39506940
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
Запросы к длинной таблице по всем строкам очень редко имеют практический смысл
...
Рейтинг: 0 / 0
17.08.2017, 17:10
    #39507034
pihel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить группировку
Если вдруг у вас 12.2 и тормозит count distinct, то можно попробовать приблизительный дистинкт -
aprox_count_distinct
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ускорить группировку / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]