Насколько я понимаю,
проблема в наличии FULL SCAN в новой БД,
который отсутствует в старой БД,
а не в чем-то другом?
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, который выше указан:
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
Как говорится, почувствуйте разницу...
???
|