powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Оптимизация вложенных запросов с GROUP BY
8 сообщений из 33, страница 2 из 2
Оптимизация вложенных запросов с GROUP BY
    #37350730
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну в деталях описался. Ясно что в селекте будет sum(...), внизу group by дата, ... Это не принципиально. Главное - без вложенных запросов там где они не нужны, а обходится простым соединением.
csv файл делаете просто. Выгружаете свои таблицы да и все. А там уже загрузить куда угодно их будет не сложно.
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37351218
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не дождался. нарисовал себе такие

SQL> insert into viewtable
select round(level/10,0), mod(level,10) from dual connect by level <= 100 ;

SQL> insert into orders (key0, outCStore)
select level, mod(level,10) from dual connect by level <= 1000 ;

SQL> insert into base_3 (key0, balanceSklFreeQuantity, key1, key2)
select mod(level,10), dbms_random.value(0,1)*99999,mod(level,10),level from dual connect by level <= 10000 ;

план в оракл дает совершенно адекватный:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Elapsed: 00:00:00.02

-----------------------------------------------------------------------------------------------------------
| Id  | Operation                       | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                |                         |     1 |    56 |     0   (0)| 00:00:01 |
|   1 |  NESTED LOOPS OUTER             |                         |     1 |    56 |     0   (0)| 00:00:01 |
|   2 |   INDEX FULL SCAN               | VIEWTABLE_45824011_PKEY |     1 |    26 |     0   (0)| 00:00:01 |
|   3 |   VIEW PUSHED PREDICATE         |                         |     1 |    30 |     0   (0)| 00:00:01 |
|   4 |    SORT GROUP BY                |                         |     1 |    65 |     0   (0)| 00:00:01 |
|   5 |     NESTED LOOPS                |                         |     1 |    65 |     0   (0)| 00:00:01 |
|   6 |      TABLE ACCESS BY INDEX ROWID| ORDERS                  |     1 |    26 |     0   (0)| 00:00:01 |
|*  7 |       INDEX UNIQUE SCAN         | PK_ORDERS               |     1 |       |     0   (0)| 00:00:01 |
|   8 |      TABLE ACCESS BY INDEX ROWID| BASE_3                  |     1 |    39 |     0   (0)| 00:00:01 |
|*  9 |       INDEX RANGE SCAN          | PK_BASE_3               |     1 |       |     0   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   7 - access("T1"."KEY0"="T0"."KEY1")
   9 - access("T0"."KEY0"="T1"."OUTCSTORE" AND "T0"."KEY1"="T0"."KEY0")
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37351271
Bond_JamesBond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!,

Да, я уже почитал про VIEW PUSHED PREDICATE. Странно что она у web_fox'а не так сработала.

А с аналитическими функциями она может работать учитывая partition, никто не в курсе :) ?
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37351821
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bond_JamesBondДа, я уже почитал про VIEW PUSHED PREDICATE. Странно что она у web_fox'а не так сработала.

судя по плану у него 486 процессор с отжатой кнопкой турбо и SSD диски

Bond_JamesBondА с аналитическими функциями она может работать учитывая partition, никто не в курсе :) ?
конечно может, это же просто агрегация
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37368329
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bond_JamesBond
ЗЫ: Да я в курсе, что есть SubQuery Expressions, но они не помогают если подзапрос надо связывать по INNER, а не LEFT JOIN :(

Так можно проверить " IS NULL"

Bond_JamesBond
Если же внутри добавить JOIN нужные_документы.ключ=позиции.документ все будет очень быстро.



Касаемо mssql - может помочь apply
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37370112
В MS SQL есть
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bond_JamesBondХм... Спасибо, посмотрю как MS SQL Server себя ведет в таких случаях... Правда за отсутствие в Window функциях нормальных Aggregate функций (хотя бы SUM) им нужно руки отрывать.
Это вы о чем?
В MS SQL есть и оконные агрегаты и оконные ранжирующие функции.
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37390792
Kateryne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть, только они не с полной реализацией
sum(Value) over (partition by Field1 order by Field 2) - такое невозможно для суммирования, возможно только для row_number()
да и всяких там lead lag нет.
...
Рейтинг: 0 / 0
Оптимизация вложенных запросов с GROUP BY
    #37390880
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Оптимизация вложенных запросов с GROUP BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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