powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Глюки оптимизатора 12с или мои ?
12 сообщений из 37, страница 2 из 2
Глюки оптимизатора 12с или мои ?
    #39293257
oracle12c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцов,

в старой:

Код: 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.
SQL> explain plan for
  2     WITH DATA AS
  3          (SELECT DISTINCT t.ID, t.regnz_head regnz_t, t.lvl, z.stan, z.nsnz,
  4                           z.npoz, z.pl, NVL (v.vzav, v1.vespz) vzav, z.pnzt,
  5                           z.pr, t.regnz_from regnz, t.regnz regnz_p,
  6                           v.regnv_sv przv, zp.regnv_sv przz
  7                      FROM zadpr_tree_from t LEFT OUTER JOIN zadpr zp
  8                           ON t.regnz = zp.regnz
  9                           JOIN zadpr_v z ON t.regnz_from = z.regnz
 10                           LEFT OUTER JOIN pr_zakaz sv ON sv.regnv_sv =
 11                                                                      z.regnv_sv
 12                           LEFT OUTER JOIN zavka v
 13                           ON v.regnz = t.regnz_from
 14                              AND zp.regnv_sv = v.regnv_sv
 15                           LEFT OUTER JOIN potst v1
 16                           ON v1.nsnz = z.nsnz AND v1.npoz = z.npoz
 17                     WHERE t.regnz_head = 151332 /*!!!!!!!*/)
 18     SELECT   ID, regnz_t, lvl, stan, nsnz, npoz, pl, vzav,
 19              CASE
 20                 WHEN regnz_p IS NULL
 21                    THEN 1
 22                 WHEN SUM (vzav) OVER (PARTITION BY regnz_p) = 0
 23                    THEN 1
 24                 ELSE ROUND (vzav / SUM (vzav) OVER (PARTITION BY regnz_p),
 25                             4
 26                            )
 27              END vol,
 28              SUM (vzav) OVER (PARTITION BY regnz_p) svzav, pnzt, pr, regnz,
 29              regnz_p, NULL, NULL
 30         FROM DATA
 31        WHERE NVL (NVL (przv, przz), 0) = NVL (NVL (przz, przv), 0)
 32     ORDER BY ID
 33  /

Объяснено.

SQL>
SQL> rem SELECT * FROM TABLE(dbms_xplan.display(NULL,NULL,'basic'));
SQL> SELECT * FROM TABLE(dbms_xplan.display(NULL,NULL,'all'));
                                                                                
-----------------------------------------------------------------------------------------------------------------
| Id  | Operation                                     |  Name                           | Rows  | Bytes | Cost  |
-----------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                              |                                 |     1 |   166 |    17 |
|   1 |  SORT ORDER BY                                |                                 |     1 |   166 |    17 |
|   2 |   WINDOW SORT                                 |                                 |     1 |   166 |    17 |
|   3 |    VIEW                                       |                                 |     1 |   166 |    12 |
|   4 |     SORT UNIQUE                               |                                 |     1 |   126 |    12 |
|*  5 |      FILTER                                   |                                 |       |       |       |
|   6 |       NESTED LOOPS OUTER                      |                                 |       |       |       |
|   7 |        NESTED LOOPS OUTER                     |                                 |     1 |   112 |     7 |
|   8 |         VIEW                                  |                                 |     1 |    95 |     5 |
|   9 |          NESTED LOOPS OUTER                   |                                 |     1 |   103 |     5 |
|  10 |           NESTED LOOPS OUTER                  |                                 |     1 |    95 |     4 |
|  11 |            NESTED LOOPS                       |                                 |     1 |    90 |     4 |
|  12 |             TABLE ACCESS BY INDEX ROWID       | ZADPR_TREE_FROM                 |     2 |    40 |     2 |
|* 13 |              INDEX RANGE SCAN                 | ZADPR_TREE_FROM_REGNZ_HEAD_IND  |     2 |       |     1 |
|  14 |             VIEW                              | ZADPR_V                         |     1 |    70 |     1 |
|  15 |              UNION-ALL PARTITION              |                                 |       |       |       |
|  16 |               NESTED LOOPS                    |                                 |     1 |   105 |     4 |
|  17 |                NESTED LOOPS                   |                                 |     1 |    91 |     4 |
|  18 |                 NESTED LOOPS OUTER            |                                 |     1 |    82 |     3 |
|  19 |                  NESTED LOOPS OUTER           |                                 |     1 |    61 |     3 |
|  20 |                   NESTED LOOPS                |                                 |     1 |    46 |     3 |
|* 21 |                    TABLE ACCESS BY INDEX ROWID| ZADPR                           |     1 |    34 |     2 |
|* 22 |                     INDEX UNIQUE SCAN         | ZADPR_PK                        |     1 |       |     1 |
|  23 |                    TABLE ACCESS BY INDEX ROWID| SHAPKA                          |     1 |    12 |     1 |
|* 24 |                     INDEX UNIQUE SCAN         | SHAPKA_N                        |     1 |       |       |
|* 25 |                   INDEX UNIQUE SCAN           | ZAKR_ZAK_UK                     |     1 |    15 |       |
|* 26 |                  INDEX UNIQUE SCAN            | RAPORT_ZAK_VES_PK               |     1 |    21 |       |
|  27 |                 TABLE ACCESS BY INDEX ROWID   | ZADPR_DETAIL                    |     1 |     9 |     1 |
|* 28 |                  INDEX UNIQUE SCAN            | ZADPR_DETAIL_PK                 |     1 |       |       |
|* 29 |                INDEX UNIQUE SCAN              | POZIC_N                         |     1 |    14 |       |
|  30 |               NESTED LOOPS OUTER              |                                 |     1 |    91 |     4 |
|  31 |                NESTED LOOPS                   |                                 |     1 |    86 |     4 |
|  32 |                 NESTED LOOPS                  |                                 |     1 |    64 |     3 |
|  33 |                  NESTED LOOPS OUTER           |                                 |     1 |    55 |     2 |
|* 34 |                   TABLE ACCESS BY INDEX ROWID | ZADPR                           |     1 |    34 |     2 |
|* 35 |                    INDEX UNIQUE SCAN          | ZADPR_PK                        |     1 |       |     1 |
|* 36 |                   INDEX UNIQUE SCAN           | RAPORT_ZAK_VES_PK               |     1 |    21 |       |
|  37 |                  TABLE ACCESS BY INDEX ROWID  | ZADPR_DETAIL                    |     1 |     9 |     1 |
|* 38 |                   INDEX UNIQUE SCAN           | ZADPR_DETAIL_PK                 |     1 |       |       |
|  39 |                 TABLE ACCESS BY INDEX ROWID   | PR_ZAKAZ                        |     1 |    22 |     1 |
|* 40 |                  INDEX UNIQUE SCAN            | PR_ZAKAZ_PK                     |     1 |       |       |
|* 41 |                INDEX UNIQUE SCAN              | POTSH_PNZ                       |     1 |     5 |       |
|  42 |               NESTED LOOPS                    |                                 |     2 |    70 |     3 |
|* 43 |                TABLE ACCESS BY INDEX ROWID    | ZADPR                           |     1 |    30 |     2 |
|* 44 |                 INDEX UNIQUE SCAN             | ZADPR_PK                        |     1 |       |     1 |
|* 45 |                INDEX RANGE SCAN               | NAZNASH_REGNZ_IND               |     2 |    10 |     1 |
|* 46 |            INDEX UNIQUE SCAN                  | PR_ZAKAZ_PK                     |     1 |     5 |       |
|  47 |           TABLE ACCESS BY INDEX ROWID         | ZADPR                           |     1 |     8 |     1 |
|* 48 |            INDEX UNIQUE SCAN                  | ZADPR_PK                        |     1 |       |       |
|  49 |         TABLE ACCESS BY INDEX ROWID           | POTST                           |     1 |    17 |     2 |
|* 50 |          INDEX RANGE SCAN                     | POTST_ZAK                       |     1 |       |     1 |
|* 51 |        TABLE ACCESS BY INDEX ROWID            | ZAVKA                           |     1 |    14 |     2 |
|* 52 |         INDEX RANGE SCAN                      | ZAVKA_REGNVSV_IND               |     1 |       |     1 |
-----------------------------------------------------------------------------------------------------------------
                                                                                
Predicate Information (identified by operation id):                             
---------------------------------------------------                             
                                                                                
   5 - filter(NVL(NVL("V"."REGNV_SV","from$_subquery$_007"."REGNV_SV_10"),0)=NVL(NVL("from$_subquery$_007"."REGNV
              _SV_10","V"."REGNV_SV"),0))                                       
  13 - access("T"."REGNZ_HEAD"=151332)                                          
  21 - filter("Z"."PR"=1)                                                       
  22 - access("T"."REGNZ_FROM"="Z"."REGNZ")                                     
  24 - access("Z"."NSNZ"="ZTSH"."NSNZ")                                         
  25 - access("Z"."NSNZ"="ZZ"."NSNZ"(+) AND "Z"."NPOZ"="ZZ"."NPOZ"(+))          
  26 - access("Z"."NSNZ"="R"."NSNZ"(+) AND "Z"."NPOZ"="R"."NPOZ"(+) AND "Z"."GDIS"="R"."GDIS"(+) AND
              "Z"."STAN"="R"."STAN"(+))                                         
  28 - access("Z"."REGNZ"="ZD"."REGNZ")                                         
  29 - access("Z"."NSNZ"="ZT"."NSNZ" AND "Z"."NPOZ"="ZT"."NPOZ")                
  34 - filter("Z"."REGNV_SV" IS NOT NULL AND "Z"."PR"=2)                        
  35 - access("T"."REGNZ_FROM"="Z"."REGNZ")                                     
  36 - access("Z"."NSNZ"="R"."NSNZ"(+) AND "Z"."NPOZ"="R"."NPOZ"(+) AND "Z"."GDIS"="R"."GDIS"(+) AND
              "Z"."STAN"="R"."STAN"(+))                                         
  38 - access("Z"."REGNZ"="ZD"."REGNZ")                                         
  40 - access("Z"."REGNV_SV"="ZP"."REGNV_SV")                                   
  41 - access("ZP"."PNZ"="ZPS"."PNZ"(+))                                        
  43 - filter("Z"."PR"=0)                                                       
  44 - access("T"."REGNZ_FROM"="Z"."REGNZ")                                     
  45 - access("Z"."REGNZ"="N"."REGNZ")                                          
  46 - access("SV"."REGNV_SV"(+)="Z"."REGNV_SV")                                
  48 - access("T"."REGNZ"="ZP"."REGNZ"(+))                                      
  50 - access("V1"."NSNZ"(+)="from$_subquery$_007"."NSNZ_15" AND "V1"."NPOZ"(+)="from$_subquery$_007"."NPOZ_16")
  51 - filter("V"."REGNZ"(+)="from$_subquery$_007"."REGNZ_FROM_3" AND "V"."REGNZ"(+) IS NOT NULL)
  52 - access("from$_subquery$_007"."REGNV_SV_10"="V"."REGNV_SV"(+))            
                                                                                
Note: cpu costing is off                                                        


но тут firs_rows, а в новой теперь all_rows
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293260
oracle12c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцов,

никто не стал бы смотреть планы,
если бы запрос завершался за реальное время...
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293280
oracle12c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dba123oracle12c,

А, действительно, как адаптивные планы работают?

Код: plsql
1.
2.
3.
4.
show parameter optimizer
alter session set optimizer_dynamic_sampling = 11;
alter session set optimizer_adaptive_reporting_only = true;   --disable adaptive optimization 
alter session set optimizer_adaptive_reporting_only = false;  --enable adaptive optimization 



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> show parameter optimizer
optimizer_adaptive_features          boolean     TRUE
optimizer_adaptive_reporting_only    boolean     FALSE
optimizer_capture_sql_plan_baselines boolean     FALSE
optimizer_dynamic_sampling           integer     2
optimizer_features_enable            string      12.1.0.2
optimizer_index_caching              integer     0
optimizer_index_cost_adj             integer     100
optimizer_inmemory_aware             boolean     TRUE
optimizer_mode                       string      ALL_ROWS
optimizer_secure_view_merging        boolean     TRUE
optimizer_use_invisible_indexes      boolean     FALSE
optimizer_use_pending_statistics     boolean     FALSE
optimizer_use_sql_plan_baselines     boolean     TRUE
SQL> alter session set optimizer_dynamic_sampling = 11;

Сеанс изменен.

SQL> alter session set optimizer_adaptive_reporting_only = true;



между optimizer_dynamic_sampling = 11;
и тем что по умолчанию
в планах некоторая разница есть,
но стоимось та же.

В планах между
optimizer_adaptive_reporting_only = true;
и
optimizer_adaptive_reporting_only = false;
разницы не наблюдается.
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293293
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну

access full вместо ACCESS BY INDEX на ZADPR, SHAPKA
и
UNION-ALL вместо UNION-ALL PARTITION

проверьте индексы, перестройте.
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293342
oracle12c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fogelну

access full вместо ACCESS BY INDEX на ZADPR, SHAPKA
и
UNION-ALL вместо UNION-ALL PARTITION

проверьте индексы, перестройте.


Индексы проверены,
разницы со старой БД не замечено...
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293376
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracle12cFogelну

access full вместо ACCESS BY INDEX на ZADPR, SHAPKA
и
UNION-ALL вместо UNION-ALL PARTITION

проверьте индексы, перестройте.


Индексы проверены,
разницы со старой БД не замечено...

выше уже заметили, что card увеличился, т.е. набор данных изменился.

лично я сверил бы ddl объектов (не потерялись ли какие-то партиции и прочие подробности при клонировании схемы/объектов).
а также проверил, что в новой БД при заливке новых данных они попали в соответствующие партиции.
глобальные индексы на партициях принудительно перестроил бы, поскольку они могут быть "разрежены" после изменений - что тоже может привести к подобному изменению плана.

также у вас в запросе используются не только таблицы, но и представления.
если они материализованные, то соответственно, обновил бы их.
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293632
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
oracle12cВ oracle 12.1.0.2.0 никто не сталкивался с тем,
что стоимость плана выполнения становилась
в 100.000 раз больше
чем в предыдущих версиях
при _всех_ равных условиях ?а нельзя по-человечески приложить оба плана с обоих версий, чтобы сравнивать можно было? да и 10053 трассу не забыть?
Принципиально разницу такую легко получить, например, из-за того, что теперь скалярные подзапросы входят в стоимость, в отличие от версий до 12с
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293652
oracle12c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понимаю,
проблема в наличии FULL SCAN в новой БД,
который отсутствует в старой БД,
а не в чем-то другом?

Код: 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.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
SQL> alter session set optimizer_dynamic_sampling  =    1     ;

Сеанс изменен.

SQL> alter session set optimizer_features_enable  = '9.2.0'   ;

Сеанс изменен.

SQL> alter session set optimizer_index_caching    =    0      ;

Сеанс изменен.

SQL> alter session set optimizer_index_cost_adj   =  100      ;

Сеанс изменен.

SQL> alter session set optimizer_max_permutations  =    2000  ;

Сеанс изменен.

SQL> alter session set optimizer_mode              =   'RULE' ;

Сеанс изменен.

SQL>
SQL> explain plan for
  2     WITH DATA AS
  3          (SELECT DISTINCT t.ID, t.regnz_head regnz_t, t.lvl, z.stan, z.nsnz,
  4                           z.npoz, z.pl, NVL (v.vzav, v1.vespz) vzav, z.pnzt,
  5                           z.pr, t.regnz_from regnz, t.regnz regnz_p,
  6                           v.regnv_sv przv, zp.regnv_sv przz
  7                      FROM zadpr_tree_from t LEFT OUTER JOIN zadpr zp
  8                           ON t.regnz = zp.regnz
  9                           JOIN zadpr_v z ON t.regnz_from = z.regnz
 10                           LEFT OUTER JOIN pr_zakaz sv ON sv.regnv_sv =
 11                                                                      z.regnv_sv
 12                           LEFT OUTER JOIN zavka v
 13                           ON v.regnz = t.regnz_from
 14                              AND zp.regnv_sv = v.regnv_sv
 15                           LEFT OUTER JOIN potst v1
 16                           ON v1.nsnz = z.nsnz AND v1.npoz = z.npoz
 17                     WHERE t.regnz_head = 151332 /*!!!!!!!*/)
 18     SELECT   ID, regnz_t, lvl, stan, nsnz, npoz, pl, vzav,
 19              CASE
 20                 WHEN regnz_p IS NULL
 21                    THEN 1
 22                 WHEN SUM (vzav) OVER (PARTITION BY regnz_p) = 0
 23                    THEN 1
 24                 ELSE ROUND (vzav / SUM (vzav) OVER (PARTITION BY regnz_p),
 25                             4
 26                            )
 27              END vol,
 28              SUM (vzav) OVER (PARTITION BY regnz_p) svzav, pnzt, pr, regnz,
 29              regnz_p, NULL, NULL
 30         FROM DATA
 31        WHERE NVL (NVL (przv, przz), 0) = NVL (NVL (przz, przv), 0)
 32     ORDER BY ID
 33  /

Объяснено.

SQL>
SQL> rem SELECT * FROM TABLE(dbms_xplan.display(NULL,NULL,'basic'));
SQL> SELECT * FROM TABLE(dbms_xplan.display(NULL,NULL,'all'));
Plan hash value: 260516165

----------------------------------------------------------------------------------------------------------------
| Id  | Operation                                     | Name                           | Rows  | Bytes | Cost  |
----------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                              |                                |     1 |   166 |   117 |
|   1 |  SORT ORDER BY                                |                                |     1 |   166 |   117 |
|   2 |   WINDOW SORT                                 |                                |     1 |   166 |   117 |
|   3 |    VIEW                                       |                                |     1 |   166 |    45 |
|   4 |     SORT UNIQUE                               |                                |     1 |   126 |    45 |
|*  5 |      FILTER                                   |                                |       |       |       |
|   6 |       NESTED LOOPS OUTER                      |                                |     1 |   126 |     9 |
|   7 |        NESTED LOOPS OUTER                     |                                |     1 |   112 |     7 |
|   8 |         VIEW                                  |                                |     1 |    95 |     5 |
|   9 |          NESTED LOOPS OUTER                   |                                |     1 |   104 |     5 |
|  10 |           NESTED LOOPS OUTER                  |                                |     1 |    96 |     4 |
|  11 |            NESTED LOOPS                       |                                |     1 |    91 |     4 |
|  12 |             TABLE ACCESS BY INDEX ROWID       | ZADPR_TREE_FROM                |     2 |    42 |     2 |
|* 13 |              INDEX RANGE SCAN                 | ZADPR_TREE_FROM_REGNZ_HEAD_IND |     2 |       |     1 |
|  14 |             VIEW                              | ZADPR_V                        |     1 |    70 |     1 |
|  15 |              UNION-ALL PARTITION              |                                |       |       |       |
|  16 |               NESTED LOOPS                    |                                |     1 |   105 |     6 |
|  17 |                NESTED LOOPS                   |                                |     1 |    91 |     5 |
|  18 |                 NESTED LOOPS OUTER            |                                |     1 |    82 |     4 |
|  19 |                  NESTED LOOPS OUTER           |                                |     1 |    61 |     3 |
|  20 |                   NESTED LOOPS                |                                |     1 |    46 |     3 |
|* 21 |                    TABLE ACCESS BY INDEX ROWID| ZADPR                          |     1 |    34 |     2 |
|* 22 |                     INDEX UNIQUE SCAN         | ZADPR_PK                       |     1 |       |     1 |
|  23 |                    TABLE ACCESS BY INDEX ROWID| SHAPKA                         |   137K|  1610K|     1 |
|* 24 |                     INDEX UNIQUE SCAN         | SHAPKA_N                       |     1 |       |       |
|* 25 |                   INDEX UNIQUE SCAN           | ZAKR_ZAK_UK                    | 96015 |  1406K|       |
|* 26 |                  INDEX UNIQUE SCAN            | RAPORT_ZAK_VES_PK              |   193K|  3968K|     1 |
|  27 |                 TABLE ACCESS BY INDEX ROWID   | ZADPR_DETAIL                   |   168K|  1476K|     1 |
|* 28 |                  INDEX UNIQUE SCAN            | ZADPR_DETAIL_PK                |     1 |       |       |
|* 29 |                INDEX UNIQUE SCAN              | POZIC_N                        |   504K|  6892K|     1 |
|  30 |               NESTED LOOPS OUTER              |                                |     1 |    91 |     5 |
|  31 |                NESTED LOOPS                   |                                |     1 |    86 |     5 |
|  32 |                 NESTED LOOPS                  |                                |     1 |    64 |     4 |
|  33 |                  NESTED LOOPS OUTER           |                                |     1 |    55 |     3 |
|* 34 |                   TABLE ACCESS BY INDEX ROWID | ZADPR                          |     1 |    34 |     2 |
|* 35 |                    INDEX UNIQUE SCAN          | ZADPR_PK                       |     1 |       |     1 |
|* 36 |                   INDEX UNIQUE SCAN           | RAPORT_ZAK_VES_PK              |   193K|  3968K|     1 |
|  37 |                  TABLE ACCESS BY INDEX ROWID  | ZADPR_DETAIL                   |   168K|  1476K|     1 |
|* 38 |                   INDEX UNIQUE SCAN           | ZADPR_DETAIL_PK                |     1 |       |       |
|  39 |                 TABLE ACCESS BY INDEX ROWID   | PR_ZAKAZ                       | 67128 |  1442K|     1 |
|* 40 |                  INDEX UNIQUE SCAN            | PR_ZAKAZ_PK                    |     1 |       |       |
|* 41 |                INDEX UNIQUE SCAN              | POTSH_PNZ                      | 60739 |   296K|       |
|  42 |               NESTED LOOPS                    |                                |     2 |    70 |     3 |
|* 43 |                TABLE ACCESS BY INDEX ROWID    | ZADPR                          |     1 |    30 |     2 |
|* 44 |                 INDEX UNIQUE SCAN             | ZADPR_PK                       |     1 |       |     1 |
|* 45 |                INDEX RANGE SCAN               | NAZNASH_REGNZ_IND              |     2 |    10 |     1 |
|* 46 |            INDEX UNIQUE SCAN                  | PR_ZAKAZ_PK                    |     1 |     5 |       |
|  47 |           TABLE ACCESS BY INDEX ROWID         | ZADPR                          |     1 |     8 |     1 |
|* 48 |            INDEX UNIQUE SCAN                  | ZADPR_PK                       |     1 |       |       |
|  49 |         TABLE ACCESS BY INDEX ROWID           | POTST                          |     1 |    17 |     2 |
|* 50 |          INDEX RANGE SCAN                     | POTST_ZAK                      |     1 |       |     1 |
|* 51 |        TABLE ACCESS BY INDEX ROWID            | ZAVKA                          |     1 |    14 |     2 |
|* 52 |         INDEX RANGE SCAN                      | ZAVKA_REGNVSV_IND              |     1 |       |     1 |
----------------------------------------------------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------

   1 - SEL$14
   3 - SEL$DDC3E74F / DATA@SEL$14
   4 - SEL$DDC3E74F
   8 - SEL$92772677 / from$_subquery$_007@SEL$10
   9 - SEL$92772677
  12 - SEL$92772677 / T@SEL$2
  13 - SEL$92772677 / T@SEL$2
  14 - SET$AD7CC163 / Z@SEL$3
  15 - SET$AD7CC163
  16 - SEL$9AACC4F0
  21 - SEL$9AACC4F0 / Z@SEL$4
  22 - SEL$9AACC4F0 / Z@SEL$4
  23 - SEL$9AACC4F0 / ZTSH@SEL$4
  24 - SEL$9AACC4F0 / ZTSH@SEL$4
  25 - SEL$9AACC4F0 / ZZ@SEL$4
  26 - SEL$9AACC4F0 / R@SEL$4
  27 - SEL$9AACC4F0 / ZD@SEL$4
  28 - SEL$9AACC4F0 / ZD@SEL$4
  29 - SEL$9AACC4F0 / ZT@SEL$4
  30 - SEL$693A5C0E
  34 - SEL$693A5C0E / Z@SEL$5
  35 - SEL$693A5C0E / Z@SEL$5
  36 - SEL$693A5C0E / R@SEL$5
  37 - SEL$693A5C0E / ZD@SEL$5
  38 - SEL$693A5C0E / ZD@SEL$5
  39 - SEL$693A5C0E / ZP@SEL$5
  40 - SEL$693A5C0E / ZP@SEL$5
  41 - SEL$693A5C0E / ZPS@SEL$5
  42 - SEL$1FB8A168
  43 - SEL$1FB8A168 / Z@SEL$6
  44 - SEL$1FB8A168 / Z@SEL$6
  45 - SEL$1FB8A168 / N@SEL$6
  46 - SEL$92772677 / SV@SEL$7
  47 - SEL$92772677 / ZP@SEL$1
  48 - SEL$92772677 / ZP@SEL$1
  49 - SEL$DDC3E74F / V1@SEL$11
  50 - SEL$DDC3E74F / V1@SEL$11
  51 - SEL$DDC3E74F / V@SEL$9
  52 - SEL$DDC3E74F / V@SEL$9

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

   5 - filter(NVL(NVL("V"."REGNV_SV","from$_subquery$_007"."QCSJ_C000000000500000"),0)=NVL(NVL("from$_su
              bquery$_007"."QCSJ_C000000000500000","V"."REGNV_SV"),0))
  13 - access("T"."REGNZ_HEAD"=151332)
  21 - filter("Z"."PR"=1)
  22 - access("Z"."REGNZ"="T"."REGNZ_FROM")
  24 - access("Z"."NSNZ"="ZTSH"."NSNZ")
  25 - access("Z"."NSNZ"="ZZ"."NSNZ"(+) AND "Z"."NPOZ"="ZZ"."NPOZ"(+))
  26 - access("Z"."NSNZ"="R"."NSNZ"(+) AND "Z"."NPOZ"="R"."NPOZ"(+) AND "Z"."GDIS"="R"."GDIS"(+) AND
              "Z"."STAN"="R"."STAN"(+))
  28 - access("Z"."REGNZ"="ZD"."REGNZ")
  29 - access("Z"."NSNZ"="ZT"."NSNZ" AND "Z"."NPOZ"="ZT"."NPOZ")
  34 - filter("Z"."REGNV_SV" IS NOT NULL AND "Z"."PR"=2)
  35 - access("Z"."REGNZ"="T"."REGNZ_FROM")
  36 - access("Z"."NSNZ"="R"."NSNZ"(+) AND "Z"."NPOZ"="R"."NPOZ"(+) AND "Z"."GDIS"="R"."GDIS"(+) AND
              "Z"."STAN"="R"."STAN"(+))
  38 - access("Z"."REGNZ"="ZD"."REGNZ")
  40 - access("Z"."REGNV_SV"="ZP"."REGNV_SV")
  41 - access("ZP"."PNZ"="ZPS"."PNZ"(+))
  43 - filter("Z"."PR"=0)
  44 - access("Z"."REGNZ"="T"."REGNZ_FROM")
  45 - access("Z"."REGNZ"="N"."REGNZ")
  46 - access("SV"."REGNV_SV"(+)="Z"."REGNV_SV")
  48 - access("T"."REGNZ"="ZP"."REGNZ"(+))
  50 - access("V1"."NSNZ"(+)="from$_subquery$_007"."QCSJ_C000000000500007" AND
              "V1"."NPOZ"(+)="from$_subquery$_007"."QCSJ_C000000000500009")
  51 - filter("V"."REGNZ"(+)="T"."REGNZ_FROM" AND "V"."REGNZ"(+) IS NOT NULL)
  52 - access("ZP"."REGNV_SV"="V"."REGNV_SV"(+))

Column Projection Information (identified by operation id):
-----------------------------------------------------------

   1 - (#keys=1) "ID"[NUMBER,22], NULL[0], "REGNZ_T"[NUMBER,22], "LVL"[NUMBER,22], "STAN"[NUMBER,22],
       "NSNZ"[VARCHAR2,10], "NPOZ"[NUMBER,22], "PL"[NUMBER,22], "VZAV"[NUMBER,22], CASE  WHEN "REGNZ_P" IS
       NULL THEN 1 WHEN SUM("VZAV") OVER ( PARTITION BY "REGNZ_P")=0 THEN 1 ELSE ROUND("VZAV"/SUM("VZAV") OVER
       ( PARTITION BY "REGNZ_P"),4) END [22], SUM("VZAV") OVER ( PARTITION BY "REGNZ_P")[22],
       "PNZT"[NUMBER,22], "PR"[NUMBER,2], "REGNZ"[NUMBER,22], "REGNZ_P"[NUMBER,22], NULL[0]
   2 - (#keys=1) "REGNZ_P"[NUMBER,22], "ID"[NUMBER,22], "REGNZ_T"[NUMBER,22], "LVL"[NUMBER,22],
       "STAN"[NUMBER,22], "NSNZ"[VARCHAR2,10], "NPOZ"[NUMBER,22], "PL"[NUMBER,22], "VZAV"[NUMBER,22],
       "PNZT"[NUMBER,22], "PR"[NUMBER,2], "REGNZ"[NUMBER,22], "PRZZ"[NUMBER,22], "PRZV"[NUMBER,22],
       SUM("VZAV") OVER ( PARTITION BY "REGNZ_P")[22]
   3 - "ID"[NUMBER,22], "REGNZ_T"[NUMBER,22], "LVL"[NUMBER,22], "STAN"[NUMBER,22], "NSNZ"[VARCHAR2,10],
       "NPOZ"[NUMBER,22], "PL"[NUMBER,22], "VZAV"[NUMBER,22], "PNZT"[NUMBER,22], "PR"[NUMBER,2],
       "REGNZ"[NUMBER,22], "REGNZ_P"[NUMBER,22], "PRZV"[NUMBER,22], "PRZZ"[NUMBER,22]
   4 - (#keys=14) "from$_subquery$_007"."ID"[NUMBER,22], "from$_subquery$_007"."REGNZ_HEAD"[NUMBER,22],
       "from$_subquery$_007"."LVL"[NUMBER,22], "from$_subquery$_007"."QCSJ_C000000000500005"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500007"[VARCHAR2,10],
       "from$_subquery$_007"."QCSJ_C000000000500009"[NUMBER,22], "from$_subquery$_007"."PL"[NUMBER,22],
       NVL("V"."VZAV","V1"."VESPZ")[22], "from$_subquery$_007"."PNZT"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500003"[NUMBER,2], "from$_subquery$_007"."REGNZ_FROM"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000300000"[NUMBER,22], "V"."REGNV_SV"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500000"[NUMBER,22]
   5 - "from$_subquery$_007"."ID"[NUMBER,22], "from$_subquery$_007"."REGNZ_HEAD"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000300000"[NUMBER,22], "T"."REGNZ_FROM"[NUMBER,22],
       "from$_subquery$_007"."LVL"[NUMBER,22], "ZP"."REGNV_SV"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500003"[NUMBER,2],
       "from$_subquery$_007"."QCSJ_C000000000500005"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500007"[VARCHAR2,10],
       "from$_subquery$_007"."QCSJ_C000000000500009"[NUMBER,22], "from$_subquery$_007"."PL"[NUMBER,22],
       "from$_subquery$_007"."PNZT"[NUMBER,22], "V1"."VESPZ"[NUMBER,22], "V"."VZAV"[NUMBER,22],
       "V"."REGNV_SV"[NUMBER,22]
   6 - (#keys=0) "from$_subquery$_007"."ID"[NUMBER,22], "from$_subquery$_007"."REGNZ_HEAD"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000300000"[NUMBER,22], "T"."REGNZ_FROM"[NUMBER,22],
       "from$_subquery$_007"."LVL"[NUMBER,22], "ZP"."REGNV_SV"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500003"[NUMBER,2],
       "from$_subquery$_007"."QCSJ_C000000000500005"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500007"[VARCHAR2,10],
       "from$_subquery$_007"."QCSJ_C000000000500009"[NUMBER,22], "from$_subquery$_007"."PL"[NUMBER,22],
       "from$_subquery$_007"."PNZT"[NUMBER,22], "V1"."VESPZ"[NUMBER,22], "V"."VZAV"[NUMBER,22],
       "V"."REGNV_SV"[NUMBER,22]
   7 - (#keys=0) "from$_subquery$_007"."ID"[NUMBER,22], "from$_subquery$_007"."REGNZ_HEAD"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000300000"[NUMBER,22], "T"."REGNZ_FROM"[NUMBER,22],
       "from$_subquery$_007"."LVL"[NUMBER,22], "ZP"."REGNV_SV"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500003"[NUMBER,2],
       "from$_subquery$_007"."QCSJ_C000000000500005"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500007"[VARCHAR2,10],
       "from$_subquery$_007"."QCSJ_C000000000500009"[NUMBER,22], "from$_subquery$_007"."PL"[NUMBER,22],
       "from$_subquery$_007"."PNZT"[NUMBER,22], "V1"."VESPZ"[NUMBER,22]
   8 - "from$_subquery$_007"."ID"[NUMBER,22], "from$_subquery$_007"."REGNZ_HEAD"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000300000"[NUMBER,22], "T"."REGNZ_FROM"[NUMBER,22],
       "from$_subquery$_007"."LVL"[NUMBER,22], "ZP"."REGNV_SV"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500003"[NUMBER,2],
       "from$_subquery$_007"."QCSJ_C000000000500005"[NUMBER,22],
       "from$_subquery$_007"."QCSJ_C000000000500007"[VARCHAR2,10],
       "from$_subquery$_007"."QCSJ_C000000000500009"[NUMBER,22], "from$_subquery$_007"."PL"[NUMBER,22],
       "from$_subquery$_007"."PNZT"[NUMBER,22]
   9 - (#keys=0) "T"."ID"[NUMBER,22], "T"."REGNZ_HEAD"[NUMBER,22], "T"."REGNZ"[NUMBER,22],
       "T"."REGNZ_FROM"[NUMBER,22], "T"."LVL"[NUMBER,22], "Z"."PR"[NUMBER,2], "Z"."STAN"[NUMBER,22],
       "Z"."NSNZ"[VARCHAR2,10], "Z"."NPOZ"[NUMBER,22], "Z"."PL"[NUMBER,22], "Z"."PNZT"[NUMBER,22],
       "ZP"."REGNV_SV"[NUMBER,22]
  10 - (#keys=0) "T"."ID"[NUMBER,22], "T"."REGNZ_HEAD"[NUMBER,22], "T"."REGNZ"[NUMBER,22],
       "T"."REGNZ_FROM"[NUMBER,22], "T"."LVL"[NUMBER,22], "Z"."PR"[NUMBER,2], "Z"."STAN"[NUMBER,22],
       "Z"."NSNZ"[VARCHAR2,10], "Z"."NPOZ"[NUMBER,22], "Z"."PL"[NUMBER,22], "Z"."PNZT"[NUMBER,22]
  11 - (#keys=0) "T"."ID"[NUMBER,22], "T"."REGNZ_HEAD"[NUMBER,22], "T"."REGNZ"[NUMBER,22],
       "T"."REGNZ_FROM"[NUMBER,22], "T"."LVL"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22], "Z"."PR"[NUMBER,2],
       "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10], "Z"."NPOZ"[NUMBER,22], "Z"."PL"[NUMBER,22],
       "Z"."PNZT"[NUMBER,22]
  12 - "T"."ID"[NUMBER,22], "T"."REGNZ_HEAD"[NUMBER,22], "T"."REGNZ"[NUMBER,22],
       "T"."REGNZ_FROM"[NUMBER,22], "T"."LVL"[NUMBER,22]
  13 - "T".ROWID[ROWID,10], "T"."REGNZ_HEAD"[NUMBER,22]
  14 - "Z"."REGNV_SV"[NUMBER,22], "Z"."PR"[NUMBER,2], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10],
       "Z"."NPOZ"[NUMBER,22], "Z"."PL"[NUMBER,22], "Z"."PNZT"[NUMBER,22]
  15 - STRDEF[22], STRDEF[22], STRDEF[2], STRDEF[22], STRDEF[10], STRDEF[22], STRDEF[22], STRDEF[22]
  16 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22],
       "ZTSH"."PNZT"[NUMBER,22], "ZD"."PL"[NUMBER,22], "ZT"."NSNZ"[VARCHAR2,10], "ZT"."NPOZ"[NUMBER,22]
  17 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10],
       "Z"."NPOZ"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22], "ZTSH"."PNZT"[NUMBER,22], "ZD"."PL"[NUMBER,22]
  18 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10],
       "Z"."NPOZ"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22], "ZTSH"."PNZT"[NUMBER,22]
  19 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10],
       "Z"."NPOZ"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22], "Z"."GDIS"[NUMBER,22], "ZTSH"."PNZT"[NUMBER,22]
  20 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10],
       "Z"."NPOZ"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22], "Z"."GDIS"[NUMBER,22], "ZTSH"."PNZT"[NUMBER,22]
  21 - "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10], "Z"."NPOZ"[NUMBER,22],
       "Z"."REGNV_SV"[NUMBER,22], "Z"."GDIS"[NUMBER,22]
  22 - "Z".ROWID[ROWID,10], "Z"."REGNZ"[NUMBER,22]
  23 - "ZTSH"."PNZT"[NUMBER,22]
  24 - "ZTSH".ROWID[ROWID,10]
  27 - "ZD"."PL"[NUMBER,22]
  28 - "ZD".ROWID[ROWID,10]
  29 - "ZT"."NSNZ"[VARCHAR2,10], "ZT"."NPOZ"[NUMBER,22]
  30 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22],
       "ZD"."PL"[NUMBER,22], "ZP"."NM_ZAK"[VARCHAR2,10], "ZP"."NM_POZ"[NUMBER,22]
  31 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22],
       "ZD"."PL"[NUMBER,22], "ZP"."NM_ZAK"[VARCHAR2,10], "ZP"."NM_POZ"[NUMBER,22], "ZP"."PNZ"[NUMBER,22]
  32 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22],
       "ZD"."PL"[NUMBER,22]
  33 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22]
  34 - "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10], "Z"."NPOZ"[NUMBER,22],
       "Z"."REGNV_SV"[NUMBER,22], "Z"."GDIS"[NUMBER,22]
  35 - "Z".ROWID[ROWID,10], "Z"."REGNZ"[NUMBER,22]
  37 - "ZD"."PL"[NUMBER,22]
  38 - "ZD".ROWID[ROWID,10]
  39 - "ZP"."NM_ZAK"[VARCHAR2,10], "ZP"."NM_POZ"[NUMBER,22], "ZP"."PNZ"[NUMBER,22]
  40 - "ZP".ROWID[ROWID,10]
  42 - (#keys=0) "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10],
       "Z"."NPOZ"[NUMBER,22], "Z"."REGNV_SV"[NUMBER,22]
  43 - "Z"."REGNZ"[NUMBER,22], "Z"."STAN"[NUMBER,22], "Z"."NSNZ"[VARCHAR2,10], "Z"."NPOZ"[NUMBER,22],
       "Z"."REGNV_SV"[NUMBER,22]
  44 - "Z".ROWID[ROWID,10], "Z"."REGNZ"[NUMBER,22]
  47 - "ZP"."REGNV_SV"[NUMBER,22]
  48 - "ZP".ROWID[ROWID,10]
  49 - "V1"."VESPZ"[NUMBER,22]
  50 - "V1".ROWID[ROWID,10]
  51 - "V"."VZAV"[NUMBER,22], "V"."REGNV_SV"[NUMBER,22]
  52 - "V".ROWID[ROWID,10], "V"."REGNV_SV"[NUMBER,22]

Note
-----
   - cpu costing is off (consider enabling it)



Запускаю то же тестовый sql, который выше указан:

Код: 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.
SQL> show parameter optimizer

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_adaptive_features          boolean     TRUE
optimizer_adaptive_reporting_only    boolean     FALSE
optimizer_capture_sql_plan_baselines boolean     FALSE
optimizer_dynamic_sampling           integer     2
optimizer_features_enable            string      12.1.0.2
optimizer_index_caching              integer     0
optimizer_index_cost_adj             integer     100
optimizer_inmemory_aware             boolean     TRUE
optimizer_mode                       string      ALL_ROWS
optimizer_secure_view_merging        boolean     TRUE
optimizer_use_invisible_indexes      boolean     FALSE
optimizer_use_pending_statistics     boolean     FALSE
optimizer_use_sql_plan_baselines     boolean     TRUE


Затрач.время: 00:00:01.43

SQL> /

Затрач.время: 00:00:01.48

SQL> /

Затрач.время: 00:00:01.00

SQL> alter session set optimizer_dynamic_sampling  =    1     ;
SQL> alter session set optimizer_features_enable  = '9.2.0'   ;
SQL> alter session set optimizer_index_caching    =    0      ;
SQL> alter session set optimizer_index_cost_adj   =  100      ;
SQL> alter session set optimizer_max_permutations  =    2000  ;
SQL> alter session set optimizer_mode              =   'RULE' ;


SQL> /

Затрач.время: 00:00:00.00

SQL> /
Затрач.время: 00:00:00.01

SQL> /
Затрач.время: 00:00:00.00



Как говорится, почувствуйте разницу...

???
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293713
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracle12cКак говорится, почувствуйте разницу...

???

очень интересно.
намотаю на ус.
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293739
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевА в чем проблема?
В принципе, хотя Бурлеcсон и против, это ожидаемое поведение - Oracle всегда утверждали, попугаи ничего не значат и могут быть любыми и сравнивать их в отрыве от конкретного запроса и окружения бессмысленно.

Льюис показывал, как эти попугаи рассчитываются. Смысл в них очень даже есть. Но надо понимать, как они рассчитываются, на какой основе, какие параметры задействованы, чтобы апельсины с яблоками не сравнивать.
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293745
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracle12c,

Вот так гораздо интересней и информативней. А теперь снимите трассу 10053 и посмотрите на каком шаге оптимизатор оступается.
...
Рейтинг: 0 / 0
Глюки оптимизатора 12с или мои ?
    #39293884
oracle12c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцовoracle12c,

Вот так гораздо интересней и информативней. А теперь снимите трассу 10053 и посмотрите на каком шаге оптимизатор оступается.

Можно конкретный алгоритм изложить,
как определить на каком шаге оптимизатор ошибается ?


Если будет известно, на каком шаге оптимизатор ошибается,
то что тогда ???
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Глюки оптимизатора 12с или мои ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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