|
|
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
есть очень длинная таблица table, группировка которой занимает непозволительно долгое время есть вот такой подзапрос вида select product_id, count (distinct date) days_online, min(date) online_since from table group by product_id Как можно сделать его быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:51 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
chrrr, Для подобных решений обычно используется механизм materialized view log + materialized view + query rewrite. Волшебных способов ускорить подобный запрос нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:54 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
chrrrподзапрос Покажите общий запрос с этим подзапросом и его план. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:54 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
Вроде xtender писал статью на подобную тему Удивительная оптимизация получения distinct values из индекса, а также TopN для каждого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 18:29 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
j2k, не пойдет... тут фулскан нужен и скорее всего он и происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 18:47 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
Зависит от распределения данных. Можно попробывать создать индекс на product_id, date и попробывать трюк xtender. Если таблица широкая, product мало, а date много, то можно получить приличный выигрыш по сравнению с full scan. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 23:57 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
Sergei.AgalakovЗависит от распределения данных. Можно попробывать создать индекс на product_id, date и попробывать трюк xtender. Если таблица широкая, product мало, а date много, то можно получить приличный выигрыш по сравнению с full scan. parallel еще можно, не ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2017, 10:00 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
chrrrКак можно сделать его быстрее?Если в запросе действительно всего 2 поля product_id и date то, напрашивается index fast full scan + parallel (по ситуации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2017, 11:22 |
|
||
|
Ускорить группировку
|
|||
|---|---|---|---|
|
#18+
Запросы к длинной таблице по всем строкам очень редко имеют практический смысл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2017, 15:24 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39506501&tid=1885411]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
394ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 707ms |

| 0 / 0 |
