powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Параллельные запросы
4 сообщений из 4, страница 1 из 1
Параллельные запросы
    #39304226
Kamael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите прояснить следующее:
Имеется две трассировки 10053, уровень 12, БД 11.2.0.4

В первой есть такое:

***************************************
PARAMETERS USED BY THE OPTIMIZER
********************************
*************************************
PARAMETERS WITH ALTERED VALUES
******************************
Compilation Environment Dump
------------------------
parallel_autodop = 1


В второй есть такое:

PARAMETERS USED BY THE OPTIMIZER
********************************
*************************************
PARAMETERS WITH ALTERED VALUES
******************************
parallel_hinted = serial


Запросы одинаковые, вида: запросX union запросY union запросQ и т.д
с одной лишь разницей, что во втором случае два запроса(допустим запросF и запросH) имеют хинт /*+ noparallel*/.

В первом случае имеем «параллельный» во втором «последовательный» план.

Вопрос:
1. Должен ли оптимизатор выполнить часть запроса в параллели, а часть последовательно если где-то в запросах/подзапросах есть хинт /*+ noparallel*/?
2. Что это за параметры: parallel_hinted и parallel_autodop?
...
Рейтинг: 0 / 0
Параллельные запросы
    #39304451
usolcew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kamael,

>> 1. Должен ли оптимизатор выполнить часть запроса в параллели, а часть последовательно если где-то в запросах/подзапросах есть хинт /*+ noparallel*/?

нет, хинт /*+ noparallel*/ в любой части запроса обычно отключает параллельное выполнение на уровне всего запроса, и вы видите в трейсе изменение параметра для всего запроса:

Код: plsql
1.
2.
3.
4.
*************************************
PARAMETERS WITH ALTERED VALUES
******************************
parallel_hinted = serial



, который собственно и отражает степень хинтованности запроса в части параллельного выполнения

параметр parallel_autodop имхо логически (1/0) отражает использование autodop в запросе, смотрите секцию

Код: plsql
1.
2.
3.
**************************
Automatic degree of parallelism (AUTODOP)
**************************
...
Рейтинг: 0 / 0
Параллельные запросы
    #39304462
Kamael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
usolcewKamael,

>> 1. Должен ли оптимизатор выполнить часть запроса в параллели, а часть последовательно если где-то в запросах/подзапросах есть хинт /*+ noparallel*/?

нет, хинт /*+ noparallel*/ в любой части запроса обычно отключает параллельное выполнение на уровне всего запроса, и вы видите в трейсе изменение параметра для всего запроса:

Код: plsql
1.
2.
3.
4.
*************************************
PARAMETERS WITH ALTERED VALUES
******************************
parallel_hinted = serial



, который собственно и отражает степень хинтованности запроса в части параллельного выполнения

параметр parallel_autodop имхо логически (1/0) отражает использование autodop в запросе, смотрите секцию

Код: plsql
1.
2.
3.
**************************
Automatic degree of parallelism (AUTODOP)
**************************


Да, всё оно так, и в секции Automatic degree of parallelism (AUTODOP) указан disable.
Это поведение где-то описано, или по крупицам искать/тестировать?

Вот ещё вопрос про параллеьность, кусок трейса _px_trace:
Код: 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.
47.
48.
Parallelism disabled at runtime because forced serial at compilation time
qerpxStart                                                     [   20630/    60]
        rwsrid:40 pxid:3 qbas:67934:err:0
        START no parallel command type 
qertqoStart                                                    [   20630/     0]
        
            kxfqd     : 0x1661f53e38
            kxfqdtqi  : 1           
            kxfqdcc   : 0x14       TQ: from slave set 1 to QC
            kxfqdpty  : 4           
            kxfqdsmp  : 90           number of samples
            kxfqdflg  : 0x5000000 
                        /KXFQDF_FASTENQ/KXFQDF_PBIN
            kxfqdstart: 0            partitioning column offset
            kxfqdfmt  :              TQ format
              kxfqfnco  : 5            number of TQ columns
              kxfqfnky  : 0            number of key columns
              kxfqfnpcol: 0            number of partitioning columns
              TQ column        kxfqcbfl   kxfqcdty   kxfqcflg   kxfqcplen 
              kxfqfcol[   0]:  4          23         0x0          4         
              kxfqfcol[   1]:  0          23         0x80         0         
              kxfqfcol[   2]:  1          23         0x0          1         
              kxfqfcol[   3]:  96         23         0x0          96        
              kxfqfcol[   4]:  0          23         0x0          0         
klcliti                                                        [   20630/     0]
        tobjn:-39858490, tobjv:1
qertqiStart                                                    [   20630/     0]
        dfo=0 passthru
qertqoStart                                                    [   20630/     0]
        
            kxfqd     : 0x1661f546c0
            kxfqdtqi  : 0           
            kxfqdcc   : 0x21       TQ: from slave set 2 to slave set 1
            kxfqdpty  : 2           
            kxfqdsmp  : 90           number of samples
            kxfqdflg  : 0x21000080
                        /KXFQDFPAGG/KXFQDF_FASTENQ
            kxfqdstart: 0            partitioning column offset
            kxfqdfmt  :              TQ format
              kxfqfnco  : 3            number of TQ columns
              kxfqfnky  : 2            number of key columns
              kxfqfnpcol: 0            number of partitioning columns
              TQ column        kxfqcbfl   kxfqcdty   kxfqcflg   kxfqcplen 
              kxfqfcol[   0]:  4000       1          0x0          4000      
              kxfqfcol[   1]:  16         1          0x200        16        
              kxfqfcol[   2]:  14         209        0x0          14        
kxfrfir                                                        [   20630/     0]

Это можно как то перевести в читаемый вид?
...
Рейтинг: 0 / 0
Параллельные запросы
    #39361284
Kamael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому интересно, по моей проблеме зарегистрировали баг
Bug 25202147 : SPORADICALLY PARALLEL QUERIES GETS DOWNGRADED TO SERIAL
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Параллельные запросы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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