powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / tkprof - аномально медленное чтение данных из памяти?
3 сообщений из 3, страница 1 из 1
tkprof - аномально медленное чтение данных из памяти?
    #39368087
DimaAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi all,

у меня маловато опыта в чтении результатов ТКПрофа. Я правильно понимаю что проблема со временем выполнения этого запроса связана с аномально низкой скоростью доступа к блокам в памяти?

250639*4к приблизительно 1Гб данных, находящихся в памяти, обрабатывался более получаса (1740 сек)! Или надо смотреть куда-то в другую сторону?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT(CAST(MULTISET(
SELECT 81141 AS MAIN_TAB_ID, TE1.ID AS MAIN_ID, TE1.DB_ID AS MAIN_DB_ID, NULL
FROM DATA.TELEFON TE1
WHERE
  (EXISTS (
    SELECT * FROM DATA.TSPATIAL S WHERE (MDSYS.SDO_RELATE(S.GEO,:1,'mask=INSIDE+TOUCH+ANYINTERACT') = 'TRUE' 
    )
  AND S.R_ID = TE1.ID AND S.R_DB_ID = TE1.DB_ID AND S.R_TAB_ID=81141)
  AND TE1.TELEFON_UA = '0123456789012')
  AND ROWNUM <= 1000000
) AS DATA.T_POINTER_EXT_RESULT_TABLE)) FROM DUAL



Код: plaintext
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.
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.13       0.28         30       1719          0           0
Fetch        1   1740.50    1751.01         19     248920          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        3   1740.63    1751.30         49     250639          0           0

Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 72     (recursive depth: 1)
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
         8          8          8  COUNT STOPKEY (cr=1940335 pr=1013 pw=0 time=799520089 us)
         8          8          8   FILTER  (cr=1940335 pr=1013 pw=0 time=799520034 us)
         8          8          8    FILTER  (cr=1940304 pr=1008 pw=0 time=799467855 us)
         8          8          8     NESTED LOOPS SEMI (cr=1940304 pr=1008 pw=0 time=799467674 us cost=50111 size=441000 card=1470)
       353        353        353      TABLE ACCESS BY INDEX ROWID BATCHED TTELEFON (cr=82 pr=14 pw=0 time=226918 us cost=195 size=47040 card=1470)
       353        353      GES  353       INDEX RANGE SCAN I_TELEFON_TELEFON0 (cr=6 pr=2 pw=0 time=35409 us cost=17 size=0 card=2940)(object id 185825)
         8          8          8      BITMAP CONVERSION TO ROWIDS (cr=5666406 pr=1004 pw=0 time=2330407533 us)
         8          8          8       BITMAP AND  (cr=5666406 pr=1004 pw=0 time=2330405636 us)
       352        352        352        BITMAP CONVERSION FROM ROWIDS (cr=5666303 pr=1004 pw=0 time=2330371511 us)
   5084640    5084640    5084640         SORT ORDER BY (cr=5666303 pr=1004 pw=0 time=2328599804 us)
   5096436    5096436    5096436          DOMAIN INDEX  TSPATIAL_IDX (cr=5679118 pr=1004 pw=0 time=2328357857 us)
       330        330        330        BITMAP CONVERSION FROM ROWIDS (cr=103 pr=0 pw=0 time=18289 us)
       330        330        330         SORT ORDER BY (cr=103 pr=0 pw=0 time=16103 us)
       330        330        330          INDEX RANGE SCAN UI_SPATIAL_R_TAB_ID_R_ID_R_DB (cr=103 pr=0 pw=0 time=9569 us cost=3 size=0 card=1)(object id 231979)
         8          8          8    TABLE ACCESS BY INDEX ROWID BATCHED TCASE_ASSIGNMENT (cr=31 pr=5 pw=0 time=51451 us cost=5 size=23 card=1)
         8          8          8     INDEX RANGE SCAN I_CASE_ASSIGNMENT_SATZ_TAB_ID (cr=23 pr=2 pw=0 time=17241 us cost=4 size=0 card=1)(object id 67607)
         0          0          0    TABLE ACCESS BY INDEX ROWID BATCHED TCASE_ASSIGNMENT (cr=0 pr=0 pw=0 time=0 us cost=5 size=23 card=1)
         0          0          0     INDEX RANGE SCAN I_CASE_ASSIGNMENT_SATZ_TAB_ID (cr=0 pr=0 pw=0 time=0 us cost=4 size=0 card=1)(object id 67607)
         0          0          0    TABLE ACCESS BY INDEX ROWID BATCHED TCASE_ASSIGNMENT (cr=0 pr=0 pw=0 time=0 us cost=5 size=23 card=1)
         0          0          0     INDEX RANGE SCAN I_CASE_ASSIGNMENT_SATZ_TAB_ID (cr=0 pr=0 pw=0 time=0 us cost=4 size=0 card=1)(object id 67607)
         1          1          1  FAST DUAL  (cr=0 pr=0 pw=0 time=4 us cost=2 size=0 card=1)


Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  db file sequential read                        19        0.02          0.25
  library cache load lock                         1        0.00          0.00
  library cache lock                              1        0.00          0.00
  Disk file operations I/O                        2        0.00          0.00
********************************************************************************
...
Рейтинг: 0 / 0
tkprof - аномально медленное чтение данных из памяти?
    #39368144
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaAl Я правильно понимаю что проблема со временем выполнения этого запроса связана с аномально низкой скоростью доступа к блокам в памяти?




Код: plsql
1.
 5096436    5096436    5096436          DOMAIN INDEX  TSPATIAL_IDX (cr=5679118 pr=1004 pw=0 time=2328357857 us)



C фазой луны :) Индекс у тебя читаеться за 2328 с /60 = 40 минут.
...
Рейтинг: 0 / 0
tkprof - аномально медленное чтение данных из памяти?
    #39368756
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaAl,

DimaAlЯ правильно понимаю что проблема со временем выполнения этого запроса связана с аномально низкой скоростью доступа к блокам в памяти?
Нет.
DimaAl Или надо смотреть куда-то в другую сторону?
1. не селективное условие:
Код: plsql
1.
(MDSYS.SDO_RELATE(S.GEO,:1,'mask=INSIDE+TOUCH+ANYINTERACT') = 'TRUE')


Для быстрого теста просто добавьте хинт no_index для TSPATIAL_IDX.
Для более полного разбора нужен dbms_xplan.display_cursor, посмотреть, почему оптимизатор выбирает этот индекс, свежая ли статистика, насколько она хороша, насколько хорош CBO, собрать 10053, изучить оптимизации, специфичные для Spatial indexes. Например, посмотреть, как оптимизатор вычисляет селективность для mask=INSIDE, mask=TOUCH, может плохо отрабатывает именно mask=INSIDE+TOUCH => переписать запрос и т.д.

2. Это к проблеме не относится, но предположу, что TELEFON view, или настроен RLS.
Код: plsql
1.
2.
3.
4.
5.
6.
         8          8          8    TABLE ACCESS BY INDEX ROWID BATCHED TCASE_ASSIGNMENT (cr=31 pr=5 pw=0 time=51451 us cost=5 size=23 card=1)
         8          8          8     INDEX RANGE SCAN I_CASE_ASSIGNMENT_SATZ_TAB_ID (cr=23 pr=2 pw=0 time=17241 us cost=4 size=0 card=1)(object id 67607)
         0          0          0    TABLE ACCESS BY INDEX ROWID BATCHED TCASE_ASSIGNMENT (cr=0 pr=0 pw=0 time=0 us cost=5 size=23 card=1)
         0          0          0     INDEX RANGE SCAN I_CASE_ASSIGNMENT_SATZ_TAB_ID (cr=0 pr=0 pw=0 time=0 us cost=4 size=0 card=1)(object id 67607)
         0          0          0    TABLE ACCESS BY INDEX ROWID BATCHED TCASE_ASSIGNMENT (cr=0 pr=0 pw=0 time=0 us cost=5 size=23 card=1)
         0          0          0     INDEX RANGE SCAN I_CASE_ASSIGNMENT_SATZ_TAB_ID (cr=0 pr=0 pw=0 time=0 us cost=4 size=0 card=1)(object id 67607)



3.
DimaAl250639*4к приблизительно 1Гб данных, находящихся в памяти, обрабатывался более получаса (1740 сек)
Не бьется у меня эта таблица и row source execution статистика. Сырой трейс файл я бы посмотрел и на опции tkprof-а.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / tkprof - аномально медленное чтение данных из памяти?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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