powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Значение поля меняется от условия
25 сообщений из 34, страница 1 из 2
Значение поля меняется от условия
    #39822311
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table usb.lj_hgap
    (idhgap        number(10,0) not null,
    ...
    created        date default SYSDATE not null,
    ..
    proizv_from    varchar2(5 byte) default null
  ,
  constraint hgap_pk
  primary key (idhgap))
  ...

Код: 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.
47.
48.
49.
50.
51.
52.
53.
54.
SQL> select * from v$version
  2  /

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

SQL> select rowid, idhgap, proizv_from
  2  from usb.lj_hgap
  3  where created between
  4  to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
  5  to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
  6  /

ROWID                                         IDHGAP PROIZ
----------------------------------------- ---------- -----
*BAIK4x0FxAMhVyn+                            2328640

SQL> select rowid, idhgap, proizv_from
  2  from usb.lj_hgap
  3  where created between
  4  to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
  5  to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
  6  and idhgap = 2328640
  7  /

ROWID                                         IDHGAP PROIZ
----------------------------------------- ---------- -----
*BAIK4x0FxAMhVyn+                            2328640 80175

SQL> select rowid, idhgap, proizv_from
  2  from usb.lj_hgap
  3  where created between
  4  to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
  5  to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
  6  and idhgap = 2328640
  7    union all
  8  select rowid, idhgap, proizv_from
  9  from usb.lj_hgap
 10  where created between
 11  to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
 12  to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
 13  /

ROWID                                         IDHGAP PROIZ
----------------------------------------- ---------- -----
*BAIK4x0FxAMhVyn+                            2328640 80175
*BAIK4x0FxAMhVyn+                            2328640

SQL>


Есть диагноз?
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822325
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант - поломался индекс по (idhgap, proizv_from)
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822326
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKE,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> select rowid, idhgap, proizv_from
  2  from usb.lj_hgap
  3  where created between
  4  to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
  5  to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
  6    union all
  7  select /*+ full(t) */ rowid, idhgap, proizv_from
  8  from usb.lj_hgap t
  9  where created between
 10  to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
 11  to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
 12  /

ROWID                                         IDHGAP PROIZ
----------------------------------------- ---------- -----
*BAIK4x0FxAMhVyn+                            2328640
*BAIK4x0FxAMhVyn+                            2328640 80175

SQL>

Но сам факт напрягает..
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822327
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKEфакт напрягает..
Индексы для начала перестройте, а уж потом напрягайтесь дальше.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822328
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousКак вариант - поломался индекс по (idhgap, proizv_from)
Поля "proizv_from" нет в индексах. А "поломался" как-то "мониторится"?
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822330
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKE,

планы с idhgap = 2328640 и без?

......
stax
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822331
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKEА "поломался" как-то "мониторится"?
Когда мониторится - индекс становится unusable.
Но иногда проскакивает.
В моей практике очень иногда, но DBA как-то плакалась, что много багов собрала на rebuild online.
Потому для начала - перестроить индексы, а уж потом начинать ломать голову.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822332
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

с idhgap
Код: sql
1.
2.
3.
4.
5.
6.
-----------------------------------------------------------------------------
| Id  | Operation         | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |         |     1 |    49 |     1   (0)| 00:00:01 |
|*  1 |  INDEX UNIQUE SCAN| HGAP_PK |     1 |    49 |     1   (0)| 00:00:01 |
-----------------------------------------------------------------------------

и без
Код: sql
1.
2.
3.
4.
5.
6.
7.
-------------------------------------------------------------------------------------
| Id  | Operation         | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |                 |     1 |    49 |     1   (0)| 00:00:01 |
|*  1 |  INDEX UNIQUE SCAN| HGAP_PK         |     1 |    49 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN| LJ_HGAP_CREATED |     1 |       |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------

отсюда вопрос - можно ли определить, что LJ_HGAP_CREATED нуждается в "перестройке"?
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822336
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKE,

імхо
баг оптимизации

попробовать /*+ index(t LJ_HGAP_CREATED */

.....
stax
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822339
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousКогда мониторится - индекс становится unusable.В статусе "VALID" индекс.
andrey_anonymousПотому для начала - перестроить индексы, а уж потом начинать ломать голову.Заметил случайно, а так, - поди догадайся, что данные не отображаются, не потому, что их нет, а потому, что индекс "поломался" )
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822341
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousВ моей практике очень иногда, но DBA как-то плакалась, что много багов собрала на rebuild online.mRdUKEBANNER
--------------------------------------------------------------------------------
Oracle Database 11g Release 11.2.0.4.0 - 64bit ProductionSE, - rebuild online не поддерживается.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822345
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKEподи догадайся
Так помогло или где?
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822356
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousmRdUKEподи догадайся
Так помогло или где?Нет, после rebuild результат не изменился.
Код: sql
1.
2.
3.
4.
5.
6.
select status, last_analyzed 
from dba_indexes 
where owner='USB' and index_name='LJ_HGAP_CREATED'
STATUS         LAST_ANALYZED            
-------------- ------------------------ 
VALID          04.06.2019 16:43:49 

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select 1, rowid, idhgap, proizv_from
from usb.lj_hgap
where created between
to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
   union all
select /*+ full(t) */ 2, rowid, idhgap, proizv_from
from usb.lj_hgap t
where created between
to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')
1                                            ROWID                                            IDHGAP                                       PROIZV_FROM       
-------------------------------------------- ------------------------------------------------ -------------------------------------------- ----------------- 
                                           1 *BAIK4x0FxAMhVyn+                                                                     2328640                   
                                           2 *BAIK4x0FxAMhVyn+                                                                     2328640 80175             
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822359
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда имеет смысл поковырять поглубже.
Например, изучить планы с projection.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822360
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousТогда имеет смысл поковырять поглубже.
Например, изучить планы с projection.
Да и полный DDL таблицы и ее индексов неплохо бы показать.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822364
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousТогда имеет смысл поковырять поглубже.
Например, изучить планы с projection.
1
Код: 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.
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.
select 1, rowid, idhgap, proizv_from from usb.lj_hgap where created
between to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')

Plan hash value: 3221267406

-------------------------------------------------------------------------------------
| Id  | Operation         | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
|   0 | SELECT STATEMENT  |                 |       |       |     1 (100)|          |
|*  1 |  INDEX UNIQUE SCAN| HGAP_PK         |     1 |    49 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN| LJ_HGAP_CREATED |     1 |       |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------

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

   1 - SEL$1 / LJ_HGAP@SEL$1
   2 - SEL$1 / LJ_HGAP@SEL$1


PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
Outline Data
-------------

  /*+
      BEGIN_OUTLINE_DATA
      IGNORE_OPTIM_EMBEDDED_HINTS
      OPTIMIZER_FEATURES_ENABLE('11.2.0.4')
      DB_VERSION('11.2.0.4')
      OPT_PARAM('_optimizer_cbqt_no_size_restriction' 'false')
      OPT_PARAM('optimizer_index_cost_adj' 20)
      OPT_PARAM('optimizer_index_caching' 80)

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
      OUTLINE_LEAF(@"SEL$1")
      INDEX(@"SEL$1" "LJ_HGAP"@"SEL$1" ("LJ_HGAP"."CREATED"))
      END_OUTLINE_DATA
  */

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

   1 - access("CREATED">=TO_DATE(' 2019-06-04 14:05:40', 'syyyy-mm-dd
              hh24:mi:ss') AND "CREATED"<=TO_DATE(' 2019-06-04 14:05:50', 'syyyy-mm-dd
              hh24:mi:ss'))

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
   2 - access("CREATED">=TO_DATE(' 2019-06-04 14:05:40', 'syyyy-mm-dd
              hh24:mi:ss') AND "CREATED"<=TO_DATE(' 2019-06-04 14:05:50', 'syyyy-mm-dd
              hh24:mi:ss'))

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

   1 - ROWID[ROWID,31], "IDHGAP"[NUMBER,22], "PROIZV_FROM"[VARCHAR2,5]
   2 - ROWID[ROWID,31], "IDHGAP"[NUMBER,22], "CREATED"[DATE,7],
       "PROIZV_FROM"[VARCHAR2,5], "LJ_HGAP".ROWID[ROWID,31]


55 строк выбрано.

2
Код: 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.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
select /*+ full(t) */ 2, rowid, idhgap, proizv_from from usb.lj_hgap t
where created between to_date('04.06.2019 14:05:40','dd.mm.yyyy
hh24:mi:ss') and to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')

Plan hash value: 2901492504

--------------------------------------------------------------------------------
| Id  | Operation            | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
|   0 | SELECT STATEMENT     |         |       |       | 36324 (100)|          |
|*  1 |  INDEX FAST FULL SCAN| HGAP_PK |     1 |    49 | 36324   (1)| 00:07:16 |
--------------------------------------------------------------------------------

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

   1 - SEL$1 / T@SEL$1

Outline Data
-------------

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------

  /*+
      BEGIN_OUTLINE_DATA
      IGNORE_OPTIM_EMBEDDED_HINTS
      OPTIMIZER_FEATURES_ENABLE('11.2.0.4')
      DB_VERSION('11.2.0.4')
      OPT_PARAM('_optimizer_cbqt_no_size_restriction' 'false')
      OPT_PARAM('optimizer_index_cost_adj' 20)
      OPT_PARAM('optimizer_index_caching' 80)
      OUTLINE_LEAF(@"SEL$1")
      INDEX_FFS(@"SEL$1" "T"@"SEL$1" ("LJ_HGAP"."IDHGAP"))

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
      END_OUTLINE_DATA
  */

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

   1 - filter(("CREATED">=TO_DATE(' 2019-06-04 14:05:40', 'syyyy-mm-dd
              hh24:mi:ss') AND "CREATED"<=TO_DATE(' 2019-06-04 14:05:50',
              'syyyy-mm-dd hh24:mi:ss')))

Column Projection Information (identified by operation id):

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
-----------------------------------------------------------

   1 - ROWID[ROWID,31], "IDHGAP"[NUMBER,22], "PROIZV_FROM"[VARCHAR2,5]


48 строк выбрано.

...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822402
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ddl индексов все-таки покажите.
Забавный план.
По ходу баг оптимизатора.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822404
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mRdUKE,

попробуй вместо between указать явно больше/меньше. Был в какой то версии такой баг.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822413
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
mRdUKE,

Iot?
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822420
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
mRdUKE,

если IOT, то, видимо, битые у вас данные... попробуйте проапдейтить поле и снова оба запроса сравнить

Код: plsql
1.
2.
3.
4.
update usb.lj_hgap t
set PROIZV_FROM = '80175'      
where rowid='*BAIK4x0FxAMhVyn+';
commit;
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822450
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousddl индексов все-таки покажите.
Код: 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.
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.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
CREATE INDEX lj_hgap_for_pers ON lj_hgap
  (
    ntab                            ASC,
    hgap_type                       ASC,
    gap_sost                        ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_index_for_300_2 ON lj_hgap
  (
    created                         ASC,
    hgap_type                       ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_postnum ON lj_hgap
  (
    post_num                        ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     1835008
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_i1 ON lj_hgap
  (
    doc_type                        ASC,
    doc_ser                         ASC,
    doc_num                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_sp_i3 ON lj_hgap
  (
    sp                              ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_idosn ON lj_hgap
  (
    idosn_fk                        ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_ntab ON lj_hgap
  (
    ntab                            ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     1835008
    NEXT        1024000
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_created ON lj_hgap
  (
    created                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_proizv ON lj_hgap
  (
    proizv                          ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_docnum ON lj_hgap
  (
    doc_num                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_print ON lj_hgap
  (
    hgap_print                      ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_updated ON lj_hgap
  (
    updated                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_startdate ON lj_hgap
  (
    start_date                      ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_expdate ON lj_hgap
  (
    exp_date                        ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX idx_lj_hgap_fio_dr ON lj_hgap
  (
    TRIM("FNAME") ASC,
    TRIM("INAME") ASC,
    TRIM("ONAME") ASC,
    born_date                       ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     65536
    NEXT        1048576
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX idx_lj_hgap_fio_gs ON lj_hgap
  (
    TRIM("FNAME") ASC,
    TRIM("INAME") ASC,
    TRIM("ONAME") ASC,
    gap_sost                        ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     65536
    NEXT        1048576
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_chip2 ON lj_hgap
  (
    chip2                           ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     65536
    NEXT        1048576
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_prlng ON lj_hgap
  (
    prlnged                         ASC,
    prlngby                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     65536
    NEXT        1048576
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_uv_date ON lj_hgap
  (
    uv_date                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     65536
    NEXT        1048576
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_trim_fio ON lj_hgap
  (
    TRIM("FNAME")||TRIM("INAME")||TRIM("ONAME") ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     65536
    NEXT        1048576
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_fio ON lj_hgap
  (
    fname                           ASC,
    iname                           ASC,
    oname                           ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     1835008
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX sync_chk_test ON lj_hgap
  (
    doc_ser                         ASC,
    doc_num                         ASC,
    doc_type                        ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_born_date ON lj_hgap
  (
    born_date                       ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     1835008
    NEXT        1024000
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_index_2 ON lj_hgap
  (
    fname                           ASC,
    iname                           ASC,
    ntab                            ASC,
    born_date                       ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_idhgap2 ON lj_hgap
  (
    idhgap2                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

CREATE INDEX lj_hgap_index_3 ON lj_hgap
  (
    idhgap                          ASC,
    born_date                       ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_table
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/

oragrafпопробуй вместо between указать явно больше/меньше. Был в какой то версии такой баг.Безрезультатно.
xtenderIot?Да, IOT.
xtenderесли IOT, то, видимо, битые у вас данные... попробуйте проапдейтить поле и снова оба запроса сравнить
Код: plsql
1.
2.
3.
4.
update usb.lj_hgap t
set PROIZV_FROM = '80175'      
where rowid='*BAIK4x0FxAMhVyn+';
commit;

Увы, и это не помогло.
До кучи выполнил "analyze table usb.lj_hgap compute statistics", и это мимо.
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822453
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtendermRdUKE,

если IOT, то, видимо, битые у вас данные... попробуйте проапдейтить поле и снова оба запроса сравнить

Код: plsql
1.
2.
3.
4.
update usb.lj_hgap t
set PROIZV_FROM = '80175'      
where rowid='*BAIK4x0FxAMhVyn+';
commit;



так вроде с данными все ок,
вторичный индекс глючит
перестроить или хотя бы UPDATE BLOCK REFERENCES
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822454
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
mRdUKE
Код: 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.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
select 1, rowid, idhgap, proizv_from from usb.lj_hgap where created
between to_date('04.06.2019 14:05:40','dd.mm.yyyy hh24:mi:ss') and
to_date('04.06.2019 14:05:50','dd.mm.yyyy hh24:mi:ss')

Plan hash value: 3221267406

-------------------------------------------------------------------------------------
| Id  | Operation         | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
|   0 | SELECT STATEMENT  |                 |       |       |     1 (100)|          |
|*  1 |  INDEX UNIQUE SCAN| HGAP_PK         |     1 |    49 |     1   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN| LJ_HGAP_CREATED |     1 |       |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------

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

   1 - SEL$1 / LJ_HGAP@SEL$1
   2 - SEL$1 / LJ_HGAP@SEL$1


PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
Outline Data
-------------

  /*+
      BEGIN_OUTLINE_DATA
      IGNORE_OPTIM_EMBEDDED_HINTS
      OPTIMIZER_FEATURES_ENABLE('11.2.0.4')
      DB_VERSION('11.2.0.4')
      OPT_PARAM('_optimizer_cbqt_no_size_restriction' 'false')
      OPT_PARAM('optimizer_index_cost_adj' 20)
      OPT_PARAM('optimizer_index_caching' 80)

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
      OUTLINE_LEAF(@"SEL$1")
      INDEX(@"SEL$1" "LJ_HGAP"@"SEL$1" ("LJ_HGAP"."CREATED"))
      END_OUTLINE_DATA
  */

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

   1 - access("CREATED">=TO_DATE(' 2019-06-04 14:05:40', 'syyyy-mm-dd
              hh24:mi:ss') AND "CREATED"<=TO_DATE(' 2019-06-04 14:05:50', 'syyyy-mm-dd
              hh24:mi:ss'))

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
----------
   2 - access("CREATED">=TO_DATE(' 2019-06-04 14:05:40', 'syyyy-mm-dd
              hh24:mi:ss') AND "CREATED"<=TO_DATE(' 2019-06-04 14:05:50', 'syyyy-mm-dd
              hh24:mi:ss'))

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

   1 - ROWID[ROWID,31], "IDHGAP"[NUMBER,22], "PROIZV_FROM"[VARCHAR2,5]
   2 - ROWID[ROWID,31], "IDHGAP"[NUMBER,22], "CREATED"[DATE,7],
       "PROIZV_FROM"[VARCHAR2,5], "LJ_HGAP".ROWID[ROWID,31]


это был реальный план? ДДЛ самой IOT еще бы посмотреть.

судя по
mRdUKE
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE INDEX lj_hgap_created ON lj_hgap
  (
    created                         ASC
  )
  PCTFREE     10
  INITRANS    2
  MAXTRANS    255
  TABLESPACE  usb_index
  STORAGE   (
    INITIAL     262144
    NEXT        262144
    MINEXTENTS  1
    MAXEXTENTS  2147483645
  )
NOPARALLEL
LOGGING
/


первичный ключ включает "IDHGAP" и "PROIZV_FROM"? Тогда по идее "PROIZV_FROM" должен быть not null
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822455
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DВАвторичный индекс глючитиз IOT по какой-то причине возвращается Null или пробелы, а из вторичного индекса '80175'.



mRdUKE,

попробуй так тогда:

Код: plsql
1.
2.
3.
4.
update usb.lj_hgap t set PROIZV_FROM = NULL where rowid='*BAIK4x0FxAMhVyn+';
update usb.lj_hgap t set PROIZV_FROM = 'ZZZZZ' where rowid='*BAIK4x0FxAMhVyn+';
update usb.lj_hgap t set PROIZV_FROM = '80175' where rowid='*BAIK4x0FxAMhVyn+';
commit;
...
Рейтинг: 0 / 0
Значение поля меняется от условия
    #39822464
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderDВАвторичный индекс глючитиз IOT по какой-то причине возвращается Null или пробелы, а из вторичного индекса '80175'.

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


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