powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Parallel->Materialize->Cursor(select * from ....)
3 сообщений из 3, страница 1 из 1
Parallel->Materialize->Cursor(select * from ....)
    #40050053
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !

Версия 12.2
Основная мысль
1. первичная паралле-ная выборка
2. сборка результатов и сохранение в временную таблицу
3. передача курсора на эту временную таблицу в процедуре
SaveCursor в качестве параметра (Sys_RefCursor)

Проблема при обращении к матер. with через Cursor(select * from MAIN) - база включает
буферизацию в процессе параллельного выполнения HASH JOIN OUTER BUFFERED

В примере это выглядит так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
create or replace view vv_remain2 as

with function SaveCursor(pTable Sys_RefCursor) return Integer
     is
       pragma autonomous_transaction;
     begin
       declare
         I Integer:=1;
       begin
         return I;
       end;
     end;

     REST as (select /*+
                                  Parallel(2)
                           */
                           DAY,
                           PROGRAM,
                           AMOUNT
                   from SCREST
                  ),

      MAIN as (select /*+
                                   Materialize
                             */
                             PROGRAM,
                             Sum(AMOUNT) AMOUNT
                     from REST
                    group by PROGRAM
                  )

 select PROGRAM,
          AMOUNT
   from MAIN 
 where Exists(select SaveCursor(Cursor(select * from MAIN)) F1 from DUAL)



План оптимизации оригинала выглядит так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
Plan hash value: 3760599892
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                                                    | Name                        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                                             |                             | 11834 |  1028K|       |    21M  (1)| 00:27:50 |       |       |        |      |            |
|   1 |  VIEW                                                        |                             | 11834 |  1028K|       |    27   (0)| 00:00:01 |       |       |        |      |            |
|   2 |   TABLE ACCESS FULL                                          | SYS_TEMP_0FD9D6C1A_A42D6B6C | 11834 |   751K|       |    27   (0)| 00:00:01 |       |       |        |      |            |
|   3 |  TEMP TABLE TRANSFORMATION                                   |                             |       |       |       |            |          |       |       |        |      |            |
|   4 |   LOAD AS SELECT                                             | SYS_TEMP_0FD9D6C17_A42D6B6C |       |       |       |            |          |       |       |        |      |            |
|*  5 |    FILTER                                                    |                             |       |       |       |            |          |       |       |        |      |            |
|   6 |     FAST DUAL                                                |                             |     1 |       |       |     2   (0)| 00:00:01 |       |       |        |      |            |
|   7 |   TEMP TABLE TRANSFORMATION                                  |                             |       |       |       |            |          |       |       |        |      |            |
|   8 |    LOAD AS SELECT (CURSOR DURATION MEMORY)                   | SYS_TEMP_0FD9D6C18_A42D6B6C |       |       |       |            |          |       |       |        |      |            |
|   9 |     SORT AGGREGATE                                           |                             |     1 |     8 |       |            |          |       |       |        |      |            |
|* 10 |      TABLE ACCESS FULL                                       | SV_TT_REMAIN                |     6 |    48 |       |     4   (0)| 00:00:01 |       |       |        |      |            |
|  11 |     VIEW                                                     |                             |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |        |      |            |
|  12 |      FAST DUAL                                               |                             |     1 |       |       |     2   (0)| 00:00:01 |       |       |        |      |            |
|  13 |    PX COORDINATOR FORCED SERIAL                              |                             |       |       |       |            |          |       |       |        |      |            |
|  14 |     PX SEND QC (RANDOM)                                      | :TQ20013                    |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,13 | P->S | QC (RAND)  |
|  15 |      LOAD AS SELECT (TEMP SEGMENT MERGE)                     | SYS_TEMP_0FD9D6C19_A42D6B6C |       |       |       |            |          |       |       |  Q2,13 | PCWP |            |
|  16 |       SORT ORDER BY                                          |                             |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,13 | PCWP |            |
|  17 |        PX RECEIVE                                            |                             |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,13 | PCWP |            |
|  18 |         PX SEND RANGE                                        | :TQ20012                    |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,12 | P->P | RANGE      |
|  19 |          WINDOW SORT                                         |                             |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,12 | PCWP |            |
|  20 |           PX RECEIVE                                         |                             |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,12 | PCWP |            |
|  21 |            PX SEND RANGE                                     | :TQ20011                    |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,11 | P->P | RANGE      |
|  22 |             VIEW                                             |                             |  5917 |   525K|       |    21M  (1)| 00:27:50 |       |       |  Q2,11 | PCWP |            |
|* 23 |              HASH JOIN OUTER BUFFERED                        |                             |  5917 |   566K|       |    21M  (1)| 00:27:50 |       |       |  Q2,11 | PCWP |            |
|  24 |               PX RECEIVE                                     |                             |   217 | 17577 |       |    21M  (1)| 00:27:50 |       |       |  Q2,11 | PCWP |            |
|  25 |                PX SEND HASH                                  | :TQ20009                    |   217 | 17577 |       |    21M  (1)| 00:27:50 |       |       |  Q2,09 | P->P | HASH       |
|  26 |                 VIEW                                         |                             |   217 | 17577 |       |    21M  (1)| 00:27:50 |       |       |  Q2,09 | PCWP |            |
|* 27 |                  HASH JOIN OUTER BUFFERED                    |                             |   217 | 28861 |       |    21M  (1)| 00:27:50 |       |       |  Q2,09 | PCWP |            |
|  28 |                   PX RECEIVE                                 |                             |     3 |   204 |       |     3   (0)| 00:00:01 |       |       |  Q2,09 | PCWP |            |
|  29 |                    PX SEND HASH                              | :TQ20006                    |     3 |   204 |       |     3   (0)| 00:00:01 |       |       |  Q2,06 | P->P | HASH       |
|  30 |                     VIEW                                     |                             |     3 |   204 |       |     3   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|  31 |                      NESTED LOOPS                            |                             |     3 |   126 |       |     3   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|  32 |                       NESTED LOOPS                           |                             |     6 |   126 |       |     3   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|* 33 |                        VIEW                                  |                             |     1 |    17 |       |     2   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|  34 |                         PX BLOCK ITERATOR                    |                             |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |  Q2,06 | PCWC |            |
|  35 |                          TABLE ACCESS FULL                   | SYS_TEMP_0FD9D6C18_A42D6B6C |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|* 36 |                        INDEX RANGE SCAN                      | SYS_C00341088               |     6 |       |       |     1   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|  37 |                       TABLE ACCESS BY INDEX ROWID            | RZ_REMAIN                   |     3 |    75 |       |     1   (0)| 00:00:01 |       |       |  Q2,06 | PCWP |            |
|  38 |                   PX RECEIVE                                 |                             | 43431 |  2756K|       |    21M  (1)| 00:27:50 |       |       |  Q2,09 | PCWP |            |
|  39 |                    PX SEND HASH                              | :TQ20007                    | 43431 |  2756K|       |    21M  (1)| 00:27:50 |       |       |  Q2,07 | P->P | HASH       |
|  40 |                     VIEW                                     |                             | 43431 |  2756K|       |    21M  (1)| 00:27:50 |       |       |  Q2,07 | PCWP |            |
|  41 |                      HASH GROUP BY                           |                             | 43431 |  3138K|       |    21M  (1)| 00:27:50 |       |       |  Q2,07 | PCWP |            |
|  42 |                       PX RECEIVE                             |                             | 43431 |  3138K|       |    21M  (1)| 00:27:50 |       |       |  Q2,07 | PCWP |            |
|  43 |                        PX SEND HASH                          | :TQ20005                    | 43431 |  3138K|       |    21M  (1)| 00:27:50 |       |       |  Q2,05 | P->P | HASH       |
|  44 |                         HASH GROUP BY                        |                             | 43431 |  3138K|       |    21M  (1)| 00:27:50 |       |       |  Q2,05 | PCWP |            |
|  45 |                          VIEW                                |                             | 43431 |  3138K|       |    21M  (1)| 00:27:50 |       |       |  Q2,05 | PCWP |            |
|* 46 |                           FILTER                             |                             |       |       |       |            |          |       |       |  Q2,05 | PCWC |            |
|  47 |                            HASH GROUP BY                     |                             | 43431 |    14M|   323M|    21M  (1)| 00:27:50 |       |       |  Q2,05 | PCWP |            |
|  48 |                             PX RECEIVE                       |                             | 43431 |    14M|       |    21M  (1)| 00:27:50 |       |       |  Q2,05 | PCWP |            |
|  49 |                              PX SEND HASH                    | :TQ20004                    | 43431 |    14M|       |    21M  (1)| 00:27:50 |       |       |  Q2,04 | P->P | HASH       |
|  50 |                               HASH GROUP BY                  |                             | 43431 |    14M|   323M|    21M  (1)| 00:27:50 |       |       |  Q2,04 | PCWP |            |
|  51 |                                VIEW                          |                             |   868K|   296M|       |    21M  (1)| 00:27:49 |       |       |  Q2,04 | PCWP |            |
|* 52 |                                 HASH JOIN RIGHT OUTER        |                             |   868K|   443M|       |    21M  (1)| 00:27:49 |       |       |  Q2,04 | PCWP |            |
|  53 |                                  PX RECEIVE                  |                             |    10 |   240 |       |     2   (0)| 00:00:01 |       |       |  Q2,04 | PCWP |            |
|  54 |                                   PX SEND BROADCAST          | :TQ20001                    |    10 |   240 |       |     2   (0)| 00:00:01 |       |       |  Q2,01 | S->P | BROADCAST  |
|  55 |                                    PX SELECTOR               |                             |       |       |       |            |          |       |       |  Q2,01 | SCWC |            |
|* 56 |                                     INDEX RANGE SCAN         | SYS_C00411191               |    10 |   240 |       |     2   (0)| 00:00:01 |       |       |  Q2,01 | SCWP |            |
|  57 |                                  VIEW                        |                             |   868K|   423M|       |    21M  (1)| 00:27:49 |       |       |  Q2,04 | PCWP |            |
|* 58 |                                   HASH JOIN RIGHT OUTER      |                             |   868K|   506M|       |    21M  (1)| 00:27:49 |       |       |  Q2,04 | PCWP |            |
|  59 |                                    PX RECEIVE                |                             |   257 |  6168 |       |     2   (0)| 00:00:01 |       |       |  Q2,04 | PCWP |            |
|  60 |                                     PX SEND BROADCAST        | :TQ20002                    |   257 |  6168 |       |     2   (0)| 00:00:01 |       |       |  Q2,02 | S->P | BROADCAST  |
|  61 |                                      PX SELECTOR             |                             |       |       |       |            |          |       |       |  Q2,02 | SCWC |            |
|* 62 |                                       INDEX RANGE SCAN       | SYS_C00411191               |   257 |  6168 |       |     2   (0)| 00:00:01 |       |       |  Q2,02 | SCWP |            |
|  63 |                                    VIEW                      |                             |   868K|   487M|       |    21M  (1)| 00:27:49 |       |       |  Q2,04 | PCWP |            |
|* 64 |                                     HASH JOIN OUTER          |                             |   868K|   538M|       |    21M  (1)| 00:27:49 |       |       |  Q2,04 | PCWP |            |
|  65 |                                      BUFFER SORT             |                             |       |       |       |            |          |       |       |  Q2,04 | PCWC |            |
|  66 |                                       PX RECEIVE             |                             |   868K|   379M|       |    21M  (1)| 00:27:30 |       |       |  Q2,04 | PCWP |            |
|  67 |                                        PX SEND HASH          | :TQ20000                    |   868K|   379M|       |    21M  (1)| 00:27:30 |       |       |        | S->P | HASH       |
|  68 |                                         VIEW                 |                             |   868K|   379M|       |    21M  (1)| 00:27:30 |       |       |        |      |            |
|* 69 |                                          FILTER              |                             |       |       |       |            |          |       |       |        |      |            |
|  70 |                                           PX COORDINATOR     |                             |       |       |       |            |          |       |       |        |      |            |
|  71 | M)                                         PX SEND QC (RANDO | :TQ10001                    |  4812K|  2143M|       |    21M  (1)| 00:27:30 |       |       |  Q1,01 | P->S | QC (RAND)  |
|  72 |                                             NESTED LOOPS     |                             |  4812K|  2143M|       |    21M  (1)| 00:27:30 |       |       |  Q1,01 | PCWP |            |
|  73 |                                              BUFFER SORT     |                             |       |       |       |            |          |       |       |  Q1,01 | PCWC |            |
|  74 |                                               PX RECEIVE     |                             |       |       |       |            |          |       |       |  Q1,01 | PCWP |            |
|  75 | CAST                                           PX SEND BROAD | :TQ10000                    |       |       |       |            |          |       |       |  Q1,00 | P->P | BROADCAST  |
|* 76 |                                                 VIEW         |                             |     1 |     9 |       |     2   (0)| 00:00:01 |       |       |  Q1,00 | PCWP |            |
|  77 | ERATOR                                           PX BLOCK IT |                             |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |  Q1,00 | PCWC |            |
|  78 | SS FULL                                           TABLE ACCE | SYS_TEMP_0FD9D6C18_A42D6B6C |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |  Q1,00 | PCWP |            |
|* 79 |                                              VIEW            | V_KPS_DA_BY_COL             |  4812K|  2101M|       |    37M  (1)| 00:49:29 |       |       |  Q1,01 | PCWP |            |
|  80 |                                               VIEW           | V_KPS_DA_BY_COL             |  1924M|   831G|       |    37M  (1)| 00:49:19 |       |       |  Q1,01 | PCWP |            |
|  81 |                                                VIEW          | V_KPS_DA_BY_COL             |  1924M|   831G|       |    37M  (1)| 00:49:19 |       |       |  Q1,01 | PCWP |            |
|* 82 |                                                 FILTER       |                             |       |       |       |            |          |       |       |  Q1,01 | PCWC |            |
|  83 | N RANGE ALL                                      PX PARTITIO |                             |  1924M|   107G|       |    37M  (1)| 00:49:19 |     1 |  2644 |  Q1,01 | PCWC |            |
|* 84 | SS FULL                                           TABLE ACCE | T_KPS_DA_BY_COL             |  1924M|   107G|       |    37M  (1)| 00:49:19 |     1 |  2644 |  Q1,01 | PCWP |            |
|* 85 |                                           INDEX RANGE SCAN   | SYS_C00411191               |     1 |    18 |       |     2   (0)| 00:00:01 |       |       |        |      |            |
|  86 |                                      PX RECEIVE              |                             |    17M|  3200M|       |   252K  (1)| 00:00:20 |       |       |  Q2,04 | PCWP |            |
|  87 |                                       PX SEND HASH           | :TQ20003                    |    17M|  3200M|       |   252K  (1)| 00:00:20 |       |       |  Q2,03 | P->P | HASH       |
|  88 |                                        VIEW                  | V_CFA_CONTRACT_FULL_ALL     |    17M|  3200M|       |   252K  (1)| 00:00:20 |       |       |  Q2,03 | PCWP |            |
|  89 |                                         VIEW                 | V_CFA_CONTRACT_FULL_ALL     |    17M|  3200M|       |   252K  (1)| 00:00:20 |       |       |  Q2,03 | PCWP |            |
|  90 |                                          VIEW                | V_CFA_CONTRACT_FULL_ALL     |    17M|  3200M|       |   252K  (1)| 00:00:20 |       |       |  Q2,03 | PCWP |            |
|* 91 |                                           FILTER             |                             |       |       |       |            |          |       |       |  Q2,03 | PCWC |            |
|  92 |                                            PX BLOCK ITERATOR |                             |    17M|   216M|       |   252K  (1)| 00:00:20 |       |       |  Q2,03 | PCWC |            |
|  93 | L                                           TABLE ACCESS FUL | T_CFA_CONTRACT_FULL_ALL     |    17M|   216M|       |   252K  (1)| 00:00:20 |       |       |  Q2,03 | PCWP |            |
|  94 |               PX RECEIVE                                     |                             | 16360 |   271K|       |   219   (1)| 00:00:01 |       |       |  Q2,11 | PCWP |            |
|  95 |                PX SEND HASH                                  | :TQ20010                    | 16360 |   271K|       |   219   (1)| 00:00:01 |       |       |  Q2,10 | P->P | HASH       |
|  96 |                 VIEW                                         |                             | 16360 |   271K|       |   219   (1)| 00:00:01 |       |       |  Q2,10 | PCWP |            |
|  97 |                  HASH GROUP BY                               |                             | 16360 |   655K|       |   219   (1)| 00:00:01 |       |       |  Q2,10 | PCWP |            |
|  98 |                   PX RECEIVE                                 |                             | 16360 |   655K|       |   219   (1)| 00:00:01 |       |       |  Q2,10 | PCWP |            |
|  99 |                    PX SEND HASH                              | :TQ20008                    | 16360 |   655K|       |   219   (1)| 00:00:01 |       |       |  Q2,08 | P->P | HASH       |
| 100 |                     HASH GROUP BY                            |                             | 16360 |   655K|       |   219   (1)| 00:00:01 |       |       |  Q2,08 | PCWP |            |
| 101 |                      VIEW                                    |                             | 16360 |   655K|       |   218   (0)| 00:00:01 |       |       |  Q2,08 | PCWP |            |
| 102 |                       NESTED LOOPS                           |                             | 16360 |    14M|       |   218   (0)| 00:00:01 |       |       |  Q2,08 | PCWP |            |
| 103 |                        VIEW                                  |                             |     1 |     8 |       |     2   (0)| 00:00:01 |       |       |  Q2,08 | PCWP |            |
| 104 |                         PX BLOCK ITERATOR                    |                             |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |  Q2,08 | PCWC |            |
| 105 |                          TABLE ACCESS FULL                   | SYS_TEMP_0FD9D6C18_A42D6B6C |     1 |     6 |       |     2   (0)| 00:00:01 |       |       |  Q2,08 | PCWP |            |
| 106 |                        VIEW                                  |                             | 16360 |    13M|       |            |          |       |       |  Q2,08 | PCWP |            |
| 107 |                         COLLECTION ITERATOR PICKLER FETCH    | SHOW                        | 16360 |       |       |    38   (0)| 00:00:01 |       |       |  Q2,08 | PCWP |            |
| 108 |    PX COORDINATOR                                            |                             |       |       |       |            |          |       |       |        |      |            |
| 109 |     PX SEND QC (RANDOM)                                      | :TQ30000                    | 11834 |  1028K|       |    28   (0)| 00:00:01 |       |       |  Q3,00 | P->S | QC (RAND)  |
| 110 |      LOAD AS SELECT (TEMP SEGMENT MERGE)                     | SYS_TEMP_0FD9D6C1A_A42D6B6C |       |       |       |            |          |       |       |  Q3,00 | PCWP |            |
| 111 |       VIEW                                                   |                             | 11834 |  1028K|       |    28   (0)| 00:00:01 |       |       |  Q3,00 | PCWP |            |
| 112 |        PX BLOCK ITERATOR                                     |                             | 11834 |   751K|       |    28   (0)| 00:00:01 |       |       |  Q3,00 | PCWC |            |
| 113 |         TABLE ACCESS FULL                                    | SYS_TEMP_0FD9D6C19_A42D6B6C | 11834 |   751K|       |    28   (0)| 00:00:01 |       |       |  Q3,00 | PCWP |            |
|*114 |    PX COORDINATOR                                            |                             |       |       |       |            |          |       |       |        |      |            |
| 115 |     PX SEND QC (RANDOM)                                      | :TQ50000                    | 11834 |  1028K|       |    21M  (1)| 00:27:50 |       |       |  Q5,00 | P->S | QC (RAND)  |
|*116 |      FILTER                                                  |                             |       |       |       |            |          |       |       |  Q5,00 | PCWC |            |
| 117 |       VIEW                                                   | SV_BO_REMAIN2               | 11834 |  1028K|       |    21M  (1)| 00:27:50 |       |       |  Q5,00 | PCWP |            |
| 118 |        VIEW                                                  |                             | 11834 |  1028K|       |    27   (0)| 00:00:01 |       |       |  Q5,00 | PCWP |            |
| 119 |         PX BLOCK ITERATOR                                    |                             | 11834 |   751K|       |    27   (0)| 00:00:01 |       |       |  Q5,00 | PCWC |            |
| 120 |          TABLE ACCESS FULL                                   | SYS_TEMP_0FD9D6C1A_A42D6B6C | 11834 |   751K|       |    27   (0)| 00:00:01 |       |       |  Q5,00 | PCWP |            |
| 121 |       PX COORDINATOR                                         |                             |       |       |       |            |          |       |       |        |      |            |
| 122 |        PX SEND QC (RANDOM)                                   | :TQ40000                    |     1 |       |       |     2   (0)| 00:00:01 |       |       |  Q4,00 | P->S | QC (RAND)  |
| 123 |         VIEW                                                 |                             |     1 |       |       |     2   (0)| 00:00:01 |       |       |  Q4,00 | PCWP |            |
| 124 |          PX BLOCK ITERATOR                                   |                             |     1 |    13 |       |     2   (0)| 00:00:01 |       |       |  Q4,00 | PCWC |            |
| 125 |           TABLE ACCESS FULL                                  | SYS_TEMP_0FD9D6C17_A42D6B6C |     1 |    13 |       |     2   (0)| 00:00:01 |       |       |  Q4,00 | PCWP |            |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   5 - filter("PARAMETERS"."REFRESH"('P000',"SDREP"=>TO_DATE(' 2021-01-31 00:00:00', 'syyyy-mm-dd hh24:mi:ss'),"SKIND"=>1) IS NULL)
  10 - filter("DAY"=:B1)
  23 - access("C"."PROGRAM"(+)="A"."PROGRAM" AND "P"."FULL"=CASE  WHEN ("C"."PROGRAM"(+) IS NOT NULL) THEN 0 ELSE 0 END )
  27 - access("B"."PROGRAM"(+)="A"."PROGRAM" AND "P"."FULL"=CASE  WHEN ("B"."PROGRAM"(+) IS NOT NULL) THEN 0 ELSE 0 END )
  33 - filter("P"."FULL"=0)
  36 - access("A"."DAY"=INTERNAL_FUNCTION("P"."DEND"))
  46 - filter(MAX()<>0)
  52 - access("R"."ITEM"(+)="C"."CREDIT_PROGRAM_NAME_DIC")
  56 - access("R"."BOOK"(+)='PROGRAM')
  58 - access("D"."ITEM"(+)="A"."DEAL_CREDIT_KIND")
  62 - access("D"."BOOK"(+)='ENTITY')
  64 - access("C"."DEAL_CONTRACT_NUMB"(+)="A"."DEAL_CONTRACT_NUMB")
  69 - filter("A"."DEAL_CONTRACT_NUMB" LIKE 'CTX%' OR "A"."DEAL_CONTRACT_NUMB" LIKE '9%' AND (LENGTH("A"."DEAL_CONTRACT_NUMB")=11 OR LENGTH("A"."DEAL_CONTRACT_NUMB")=12) OR  EXISTS 
              (SELECT 0 FROM "PF_REPORT"."CONSTANT" "CONSTANT" WHERE "BOOK"='ENTITY' AND "ITEM"=:B1))
  76 - filter("B"."FULL"=0)
  79 - filter("A"."DATE_REP">=SYS_OP_CSEE(INTERNAL_FUNCTION("B"."DREP")) AND "A"."DATE_REP"<=SYS_OP_CSEE(INTERNAL_FUNCTION("B"."DREP")))
  82 - filter(SYS_AUDIT(1,'ADBUS','V_KPS_DA_BY_COL','S_KPS_DA_BY_COL',3) IS NULL)
  84 - filter("DAY_MONTH"='D' AND NVL("A_MAIN_DEPT_BAL_M",'0000')<>'8100')
  85 - access("BOOK"='ENTITY' AND "ITEM"=:B1)
       filter("ITEM"=:B1)
  91 - filter(SYS_AUDIT(1,'ADBUS','V_CFA_CONTRACT_FULL_ALL','S_CFA_CONTRACT_FULL_ALL',3) IS NULL)
 114 - filter( EXISTS (SELECT 0 FROM  (SELECT /*+ CACHE ("T1") */ "C0" "EXEC" FROM "SYS"."SYS_TEMP_0FD9D6C17_A42D6B6C" "T1") "PARAMETER"))
 116 - filter( EXISTS (SELECT 0 FROM  (SELECT /*+ CACHE ("T1") */ "C0" "EXEC" FROM "SYS"."SYS_TEMP_0FD9D6C17_A42D6B6C" "T1") "PARAMETER"))
 
Note
-----
   - dynamic statistics used: dynamic sampling (level=8)
   - Degree of Parallelism is 2 because of hint



Много и страшно !!!
Проблема здесь = HASH JOIN OUTER BUFFERED
Многократное обращение к with MAIN - приемлемо, но стоит только перейти к Cursor-у - имею проблему
Как можно это решить ? Смотрю в сторону pq_distribute(K, none)
Но не совсем понимаю его применение в моем случае

SaveCursor(Cursor(select /*+ pq_distribute(R none) */ * from MAIN R))

Заранее благодарен !
...
Рейтинг: 0 / 0
Parallel->Materialize->Cursor(select * from ....)
    #40050094
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
HOME_X,

что за хрень вы пытаетесь сделать? И нахрена пытаетесь материализовать вообще?
Это опять какое-то извращение от Как обновить "пользовательский" кеш ?
...
Рейтинг: 0 / 0
Parallel->Materialize->Cursor(select * from ....)
    #40050159
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sayan Malakshinov
HOME_X,

что за хрень вы пытаетесь сделать?


Упомянутая хрень отработала нормально, удовлетворен !

Немного не нравиться момент передачи параметра, хотел бы малость
изменить и надеялся что можно применять процесс парал-ции частично
Проблема так понял именно в этом

1. первичная паралле-ная выборка
2. сборка результатов и сохранение в временную таблицу

-- здесь уже ссылка на готовую таблицу без парал-ой сборки
3. передача курсора на эту временную таблицу в процедуре
SaveCursor в качестве параметра (Sys_RefCursor)

Но как этим управлять - не знаю

спасибо
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Parallel->Materialize->Cursor(select * from ....)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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