powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ускорить группировку
10 сообщений из 10, страница 1 из 1
Ускорить группировку
    #39506501
chrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть очень длинная таблица table, группировка которой занимает непозволительно долгое время

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

select
product_id,

count
(distinct date) days_online,

min(date) online_since

from table

group by product_id

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

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

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

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


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