Índice do fórum Treinamentos Avançados Treinamento Oracle Tuning - SQL Planos já utilizados

Planos já utilizados

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Tuning - SQL.

Mensagem Seg Mai 25, 2015 7:17 pm

Mensagens: 0
Pessoal, como vai?

Estou com o seguinte paradigma em um ambiente de um cliente:

De vez em quando, nas últimas semanas esse cenário vem se repetindo, o cliente reclama que determinado processo está demorando mais do que o esperado, ou seja, a query que antes executava em 2 horas está demorando 4 horas, por exemplo.

Se você olha a sessão, ela está fazendo db sequential read a X horas ou minutos (sempre um tempo elevado).
Olho a memória do SO, CPU, I/O e SWAP e está tudo ok, não é uma lentidão generalizada, apenas desses processos em si.
Eu olho o plano de execução da query e apresenta poucos ou quase nenhum full scan nos joins, geralmente sempre utiliza-se índices.

Eu googlei um pouco e também ouvi que seria interessante saber se o Oracle está usando um plano ruim ou não por Baselines, mas ainda não li sobre o Baseline em si.
Já pensei em usar o SQL_Tunne_Task, mas o meu medo é alterar algo e ficar ainda pior e não conseguir voltar para o anterior.

Na opinião de vocês, qual seria, não o melhor porque o melhor varia de ambiente para ambiente, mas o mais sensato a se fazer?
Esse cliente é do ramo financeiro e eles sempre reclamam disso quando já está em produção.

Mensagem Qua Mai 27, 2015 10:13 am
portilho Site Admin

Mensagens: 482
Oi !

Acho que o que este ambiente precisa é sim a proteção de Baselines.
Veja este Post, é um resumo sobre como funcionam as Baselines: http://nervinformatica.com.br/blog/?p=2197
E veja este tópico: viewtopic.php?f=4&t=464

Mensagem Qua Mai 27, 2015 2:44 pm

Mensagens: 0
Ricardo, obrigado pelo retorno!
Vou dar uma olhada nos links que me enviou. Felizmente, o ambiente já está com o OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES para TRUE.
Aliás, rodei um SQLHC na query que está executando agora. As informações são as seguintes:

-- hash usado agora para o SQLID
Enter value for sql_id: 4g4tukm0u2hm0

PLAN_HASH_VALUE
---------------
1627101785

-- Hash's que ele usou e uma média de tempo

Enter value for 1: 4g4tukm0u2hm0


PLAN_HASH_VALUE AVG_ET_SECS
--------------- -----------
1627101785 3972,906
1794148905 6601,135
1157014778 27458,542
320431110 123615,126

Informações da sessão:


LOGON_TIME Tempo SQL_ID EVENT I Bloquea
- ------- ------- ---------- -------- -------- --------------- ------------------------ ------------------- ------ ------------- ------------------------------ - ------
27-05-2015 10:16:25 4108 4g4tukm0u2hm0 db file sequential read


Me corrija se eu estiver errado:

Para o hash 1627101785 que segundo o meu select foi o que executou em menos tempo está sendo o plano com maior custo, 106k.
Já o hash 1157014778 está com o menor custo 100k, mas aparenta ser um dos que mais demora a ser feito, 27458,542.

Acredito que o plano mudou, pois essa nova execução agora o cliente alterou os parâmetros da sessão:

Alter session set current_schema=<nome>;
Alter session set optimizer_index_caching=0;
Alter session set optimizer_index_cost_adj=100;
Alter session set optimizer_features_enable="11.2.0.4";
Alter session set db_file_multiblock_read_count=16;

Eu deixei com o hash 1627101785 mesmo tendo o maior custo, isso está previsto para ser finalizado em 16 horas. No final de semana foi iniciado com essa previsão, mas passou para mais de 50 horas e abortaram.

Mensagem Qua Mai 27, 2015 6:06 pm
portilho Site Admin

Mensagens: 482
Oi !
Tente tirar um DISPLAY_CURSOR dos diferentes planos. Se possível, com o GATHER_PLAN_STATISTICS, para vermos a diferença de A-rows e E-rows.

Mensagem Qui Mai 28, 2015 12:25 pm

Mensagens: 0
O processo passou do horário previsto e agora está usando UNDO para leitura....

Qual o SID que deseja verificar ? 843

USUARIOS EM WAIT

OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME
------------------------------ ------------------------------ ------------ -----------------------
SYS _SYSSMU183$ TYPE2 UNDO UNDOTBS2


Seguem os planos


Plan hash value: 1627101785

select * from table(dbms_xplan.display_cursor('&sql_id','&child_no','allstats +peeked_binds'));

--------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 106K(100)| |
| 1 | NESTED LOOPS | | 1 | 40 | 4 (0)| 00:00:01 |
| 2 | TABLE ACCESS BY INDEX ROWID | CT_COMPANY_SEGMENT | 1 | 16 | 3 (0)| 00:00:01 |
|* 3 | INDEX UNIQUE SCAN | PK_CT_COMPANY_SEGMENT | 1 | | 2 (0)| 00:00:01 |
| 4 | SORT AGGREGATE | | 1 | 13 | | |
| 5 | FIRST ROW | | 1 | 13 | 3 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN (MIN/MAX) | PK_CT_COMPANY_SEGMENT | 1 | 13 | 3 (0)| 00:00:01 |
| 7 | TABLE ACCESS BY INDEX ROWID | CT_SEGMENT | 1 | 24 | 1 (0)| 00:00:01 |
|* 8 | INDEX UNIQUE SCAN | PK_CT_SEGMENT | 1 | | 0 (0)| |
| 9 | TABLE ACCESS BY INDEX ROWID | CT_ECONOMIC_GROUP | 1 | 43 | 2 (0)| 00:00:01 |
|* 10 | INDEX UNIQUE SCAN | PK_CT_ECONOMIC_GROUP | 1 | | 1 (0)| 00:00:01 |
| 11 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN_VALUE_TRANSLATION | 1 | 40 | 2 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | PK_AI_DOMAIN_VALUE_TRANSLATION | 1 | | 1 (0)| 00:00:01 |
| 13 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN | 1 | 36 | 2 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | IX_UK_DOMAIN_NAME | 1 | | 1 (0)| 00:00:01 |
| 15 | SORT GROUP BY NOSORT | | 1 | 14 | 4 (0)| 00:00:01 |
|* 16 | INDEX RANGE SCAN | PK_CS_MED_SUP_STATUS_CHANGE_HI | 1 | 14 | 4 (0)| 00:00:01 |
| 17 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN_VALUE_TRANSLATION | 1 | 40 | 2 (0)| 00:00:01 |
|* 18 | INDEX UNIQUE SCAN | PK_AI_DOMAIN_VALUE_TRANSLATION | 1 | | 1 (0)| 00:00:01 |
| 19 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN | 1 | 36 | 2 (0)| 00:00:01 |
|* 20 | INDEX UNIQUE SCAN | IX_UK_DOMAIN_NAME | 1 | | 1 (0)| 00:00:01 |
| 21 | NESTED LOOPS | | 1 | 1336 | 106K (1)| 00:00:10 |
| 22 | NESTED LOOPS | | 1 | 1336 | 106K (1)| 00:00:10 |
| 23 | NESTED LOOPS | | 1 | 1317 | 106K (1)| 00:00:10 |
| 24 | NESTED LOOPS | | 1 | 1281 | 106K (1)| 00:00:10 |
| 25 | NESTED LOOPS | | 1 | 1142 | 106K (1)| 00:00:10 |
| 26 | NESTED LOOPS | | 1 | 1120 | 106K (1)| 00:00:10 |
| 27 | NESTED LOOPS | | 1 | 1103 | 106K (1)| 00:00:10 |
| 28 | NESTED LOOPS OUTER | | 1 | 858 | 106K (1)| 00:00:10 |
| 29 | NESTED LOOPS | | 1 | 843 | 106K (1)| 00:00:10 |
| 30 | NESTED LOOPS | | 1 | 820 | 106K (1)| 00:00:10 |
| 31 | NESTED LOOPS | | 142 | 111K| 106K (1)| 00:00:10 |
| 32 | NESTED LOOPS | | 139 | 107K| 106K (1)| 00:00:10 |
| 33 | NESTED LOOPS | | 177 | 135K| 105K (1)| 00:00:10 |
|* 34 | HASH JOIN | | 178 | 92916 | 105K (1)| 00:00:10 |
| 35 | TABLE ACCESS BY INDEX ROWID | RQ_REASON | 6 | 738 | 2 (0)| 00:00:01 |
|* 36 | INDEX FULL SCAN | XIF1RQ_REASON | 6 | | 1 (0)| 00:00:01 |
| 37 | NESTED LOOPS | | 238 | 94962 | 105K (1)| 00:00:10 |
| 38 | NESTED LOOPS | | 200 | 78000 | 105K (1)| 00:00:10 |
|* 39 | HASH JOIN | | 200 | 44200 | 104K (1)| 00:00:10 |
|* 40 | TABLE ACCESS FULL | BC_PRODUCT | 7 | 889 | 5 (0)| 00:00:01 |
| 41 | NESTED LOOPS | | 666 | 62604 | 104K (1)| 00:00:10 |
| 42 | NESTED LOOPS | | 666 | 62604 | 104K (1)| 00:00:10 |
|* 43 | TABLE ACCESS FULL | RQ_REQUEST | 666 | 45954 | 103K (1)| 00:00:10 |
|* 44 | INDEX UNIQUE SCAN | PK_CT_CONTRACT | 1 | | 1 (0)| 00:00:01 |
| 45 | TABLE ACCESS BY INDEX ROWID| CT_CONTRACT | 1 | 25 | 2 (0)| 00:00:01 |
|* 46 | TABLE ACCESS BY INDEX ROWID | CT_BRANCH | 1 | 169 | 2 (0)| 00:00:01 |
|* 47 | INDEX UNIQUE SCAN | PK_CT_BRANCH | 1 | | 1 (0)| 00:00:01 |
|* 48 | INDEX RANGE SCAN | PK_RQ_PENDING_REQUEST | 1 | 9 | 2 (0)| 00:00:01 |
| 49 | TABLE ACCESS BY INDEX ROWID | CT_COMPANY | 1 | 260 | 1 (0)| 00:00:01 |
|* 50 | INDEX UNIQUE SCAN | PK_CT_COMPANY | 1 | | 0 (0)| |
| 51 | TABLE ACCESS BY INDEX ROWID | CT_LEGAL_PERSON_COMPANY | 1 | 7 | 2 (0)| 00:00:01 |
|* 52 | INDEX UNIQUE SCAN | PK_CT_LEGAL_PERSON_COMPANY | 1 | | 1 (0)| 00:00:01 |
|* 53 | INDEX RANGE SCAN | PK_FC_COLLECT_REQUEST | 1 | 12 | 2 (0)| 00:00:01 |
|* 54 | TABLE ACCESS BY INDEX ROWID | FC_COLLECT | 1 | 19 | 2 (0)| 00:00:01 |
|* 55 | INDEX UNIQUE SCAN | PK_FC_COLLECT | 1 | | 1 (0)| 00:00:01 |
| 56 | TABLE ACCESS BY INDEX ROWID | RQ_ITEM_REQUEST | 43 | 989 | 15 (0)| 00:00:01 |
|* 57 | INDEX RANGE SCAN | XIF6RQ_ITEM_REQUEST | 43 | | 3 (0)| 00:00:01 |
| 58 | VIEW PUSHED PREDICATE | | 1 | 15 | 5 (0)| 00:00:01 |
| 59 | NESTED LOOPS | | 1 | 23 | 5 (0)| 00:00:01 |
| 60 | TABLE ACCESS BY INDEX ROWID | RQ_RETURN_ITEM | 1 | 17 | 4 (0)| 00:00:01 |
|* 61 | INDEX RANGE SCAN | PK_RQ_RETURN_ITEM | 1 | | 3 (0)| 00:00:01 |
|* 62 | INDEX UNIQUE SCAN | PK_RQ_RETURN | 1 | 6 | 1 (0)| 00:00:01 |
| 63 | TABLE ACCESS BY INDEX ROWID | CS_CUSTOMER | 1 | 245 | 2 (0)| 00:00:01 |
|* 64 | INDEX UNIQUE SCAN | PK_CS_CUSTOMER | 1 | | 1 (0)| 00:00:01 |
| 65 | TABLE ACCESS BY INDEX ROWID | CS_CUSTOMER_ACCOUNT | 1 | 17 | 3 (0)| 00:00:01 |
|* 66 | INDEX RANGE SCAN | CS_CUSTOMER_ACC_SEARH_IDX | 1 | | 2 (0)| 00:00:01 |
| 67 | TABLE ACCESS BY INDEX ROWID | CS_PAYMENT_MEDIA | 1 | 22 | 4 (0)| 00:00:01 |
|* 68 | INDEX RANGE SCAN | XIF1CS_PAYMENT_MEDIA | 1 | | 2 (0)| 00:00:01 |
|* 69 | TABLE ACCESS BY INDEX ROWID | CS_MEDIA_SUPPORT | 1 | 139 | 2 (0)| 00:00:01 |
|* 70 | INDEX UNIQUE SCAN | PK_CS_MEDIA_SUPPORT | 1 | | 1 (0)| 00:00:01 |
| 71 | TABLE ACCESS BY INDEX ROWID | BC_MEDIA_SUPPORT_STATUS | 1 | 36 | 1 (0)| 00:00:01 |
|* 72 | INDEX UNIQUE SCAN | PK_BC_MEDIA_SUPPORT_STATUS | 1 | | 0 (0)| |
|* 73 | INDEX UNIQUE SCAN | PK_AC_CUSTOMER_ACCOUNT | 1 | | 1 (0)| 00:00:01 |
|* 74 | TABLE ACCESS BY INDEX ROWID | AC_CUSTOMER_ACCOUNT | 1 | 19 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------------------------------------------------------------

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

3 - access("CTS"."ID_COMPANY"=:B1 AND "CTS"."SEGMENTATION_DATE"=)
6 - access("CTSE"."ID_COMPANY"=:B1)
8 - access("S"."ID_SEGMENT"="CTS"."ID_SEGMENT")
10 - access("E"."ID_ECONOMIC_GROUP"=:B1)
12 - access("TR"."ID_DOMAIN"= AND "NUMERIC_VALUE"=:B1 AND "TR"."LANGUAGE"=U'pt')
14 - access("DOMAIN_NAME"=U'REQUEST_STATUS')
16 - access("CMH"."ID_MEDIA_SUPPORT"=:B1)
18 - access("TR"."ID_DOMAIN"= AND "NUMERIC_VALUE"=:B1 AND "TR"."LANGUAGE"=U'pt')
20 - access("DOMAIN_NAME"=U'TECHNOLOGY_TYPE')
34 - access("RP"."ID_PENDING_REASON"="RE"."ID_PENDING_REASON")
36 - filter("RE"."ID_PENDING_REASON" IS NOT NULL)
39 - access("CT"."ID_PRODUCT"="ID_PRODUCT")
40 - filter(("ID_PLATFORM"=TO_NUMBER("PK_GD_PLATFORM"."PLATFORM"()) OR TO_NUMBER("PK_GD_PLATFORM"."PLATFORM"())=(-1)))
43 - filter(((:B3=1 AND TO_DATE(INTERNAL_FUNCTION("RQ"."REQUEST_DATE"),'DD/MM/YY')>=:B2 AND
TO_DATE(INTERNAL_FUNCTION("RQ"."REQUEST_DATE"),'DD/MM/YY')<=:B2) OR (:B3=2 AND
TO_DATE(INTERNAL_FUNCTION("RQ"."REQUEST_DATE"),'DD/MM/YY')>=:B2 AND
TO_DATE(INTERNAL_FUNCTION("RQ"."REQUEST_DATE"),'DD/MM/YY')<=:B1)))
44 - access("CT"."ID_CONTRACT"="RQ"."ID_CONTRACT")
46 - filter("CT"."ID_COMPANY"="CB"."ID_COMPANY")
47 - access("CT"."ID_CONTRACTEE"="CB"."ID_BRANCH")
48 - access("RP"."ID_REQUEST"="RQ"."ID_REQUEST")
50 - access("CT"."ID_COMPANY"="P"."ID_COMPANY")
52 - access("L"."ID_COMPANY"="P"."ID_COMPANY")
53 - access("FCR"."ID_REQUEST"="RQ"."ID_REQUEST")
54 - filter("FC"."ID_CONTRACT"="CT"."ID_CONTRACT")
55 - access("FC"."ID_COLLECT"="FCR"."ID_COLLECT")
57 - access("RQI"."ID_REQUEST"="RQ"."ID_REQUEST")
61 - access("RTI"."ID_ITEM"="RQI"."ID_ITEM")
62 - access("RT"."ID_RETURN"="RTI"."ID_RETURN")
64 - access("CS"."ID_CUSTOMER"="RQI"."ID_CUSTOMER")
66 - access("CSA"."ID_CUSTOMER"="CS"."ID_CUSTOMER" AND "CSA"."ID_CONTRACT"="CT"."ID_CONTRACT")
68 - access("CSA"."ID_CUSTOMER_ACCOUNT"="PM"."ID_CUSTOMER_ACCOUNT")
69 - filter("CSM"."ID_CUSTOMER"="CS"."ID_CUSTOMER")
70 - access("PM"."ID_MEDIA_SUPPORT"="CSM"."ID_MEDIA_SUPPORT")
72 - access("CSM"."ID_MEDIA_SUPPORT_STATUS"="BCM"."ID_MEDIA_SUPPORT_STATUS")
73 - access("CSA"."ID_CUSTOMER_ACCOUNT"="AC"."ID_CUSTOMER_ACCOUNT")
74 - filter("AC"."ID_CUSTOMER_ACCOUNT_STATUS"<>3)


select plan_table_output from table(dbms_xplan.display_cursor('4g4tukm0u2hm0',null,'all'));

--------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 106K(100)| |
| 1 | NESTED LOOPS | | 1 | 40 | 4 (0)| 00:00:01 |
| 2 | TABLE ACCESS BY INDEX ROWID | CT_COMPANY_SEGMENT | 1 | 16 | 3 (0)| 00:00:01 |
|* 3 | INDEX UNIQUE SCAN | PK_CT_COMPANY_SEGMENT | 1 | | 2 (0)| 00:00:01 |
| 4 | SORT AGGREGATE | | 1 | 13 | | |
| 5 | FIRST ROW | | 1 | 13 | 3 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN (MIN/MAX) | PK_CT_COMPANY_SEGMENT | 1 | 13 | 3 (0)| 00:00:01 |
| 7 | TABLE ACCESS BY INDEX ROWID | CT_SEGMENT | 1 | 24 | 1 (0)| 00:00:01 |
|* 8 | INDEX UNIQUE SCAN | PK_CT_SEGMENT | 1 | | 0 (0)| |
| 9 | TABLE ACCESS BY INDEX ROWID | CT_ECONOMIC_GROUP | 1 | 43 | 2 (0)| 00:00:01 |
|* 10 | INDEX UNIQUE SCAN | PK_CT_ECONOMIC_GROUP | 1 | | 1 (0)| 00:00:01 |
| 11 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN_VALUE_TRANSLATION | 1 | 40 | 2 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | PK_AI_DOMAIN_VALUE_TRANSLATION | 1 | | 1 (0)| 00:00:01 |
| 13 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN | 1 | 36 | 2 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | IX_UK_DOMAIN_NAME | 1 | | 1 (0)| 00:00:01 |
| 15 | SORT GROUP BY NOSORT | | 1 | 14 | 4 (0)| 00:00:01 |
|* 16 | INDEX RANGE SCAN | PK_CS_MED_SUP_STATUS_CHANGE_HI | 1 | 14 | 4 (0)| 00:00:01 |
| 17 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN_VALUE_TRANSLATION | 1 | 40 | 2 (0)| 00:00:01 |
|* 18 | INDEX UNIQUE SCAN | PK_AI_DOMAIN_VALUE_TRANSLATION | 1 | | 1 (0)| 00:00:01 |
| 19 | TABLE ACCESS BY INDEX ROWID | AI_DOMAIN | 1 | 36 | 2 (0)| 00:00:01 |
|* 20 | INDEX UNIQUE SCAN | IX_UK_DOMAIN_NAME | 1 | | 1 (0)| 00:00:01 |
| 21 | NESTED LOOPS | | 1 | 1336 | 106K (1)| 00:00:10 |
| 22 | NESTED LOOPS | | 1 | 1336 | 106K (1)| 00:00:10 |
| 23 | NESTED LOOPS | | 1 | 1317 | 106K (1)| 00:00:10 |
| 24 | NESTED LOOPS | | 1 | 1281 | 106K (1)| 00:00:10 |
| 25 | NESTED LOOPS | | 1 | 1142 | 106K (1)| 00:00:10 |
| 26 | NESTED LOOPS | | 1 | 1120 | 106K (1)| 00:00:10 |
| 27 | NESTED LOOPS | | 1 | 1103 | 106K (1)| 00:00:10 |
| 28 | NESTED LOOPS OUTER | | 1 | 858 | 106K (1)| 00:00:10 |
| 29 | NESTED LOOPS | | 1 | 843 | 106K (1)| 00:00:10 |
| 30 | NESTED LOOPS | | 1 | 820 | 106K (1)| 00:00:10 |
| 31 | NESTED LOOPS | | 142 | 111K| 106K (1)| 00:00:10 |
| 32 | NESTED LOOPS | | 139 | 107K| 106K (1)| 00:00:10 |
| 33 | NESTED LOOPS | | 177 | 135K| 105K (1)| 00:00:10 |
|* 34 | HASH JOIN | | 178 | 92916 | 105K (1)| 00:00:10 |
| 35 | TABLE ACCESS BY INDEX ROWID | RQ_REASON | 6 | 738 | 2 (0)| 00:00:01 |
|* 36 | INDEX FULL SCAN | XIF1RQ_REASON | 6 | | 1 (0)| 00:00:01 |
| 37 | NESTED LOOPS | | 238 | 94962 | 105K (1)| 00:00:10 |
| 38 | NESTED LOOPS | | 200 | 78000 | 105K (1)| 00:00:10 |
|* 39 | HASH JOIN | | 200 | 44200 | 104K (1)| 00:00:10 |
|* 40 | TABLE ACCESS FULL | BC_PRODUCT | 7 | 889 | 5 (0)| 00:00:01 |
| 41 | NESTED LOOPS | | 666 | 62604 | 104K (1)| 00:00:10 |
| 42 | NESTED LOOPS | | 666 | 62604 | 104K (1)| 00:00:10 |
|* 43 | TABLE ACCESS FULL | RQ_REQUEST | 666 | 45954 | 103K (1)| 00:00:10 |
|* 44 | INDEX UNIQUE SCAN | PK_CT_CONTRACT | 1 | | 1 (0)| 00:00:01 |
| 45 | TABLE ACCESS BY INDEX ROWID| CT_CONTRACT | 1 | 25 | 2 (0)| 00:00:01 |
|* 46 | TABLE ACCESS BY INDEX ROWID | CT_BRANCH | 1 | 169 | 2 (0)| 00:00:01 |
|* 47 | INDEX UNIQUE SCAN | PK_CT_BRANCH | 1 | | 1 (0)| 00:00:01 |
|* 48 | INDEX RANGE SCAN | PK_RQ_PENDING_REQUEST | 1 | 9 | 2 (0)| 00:00:01 |
| 49 | TABLE ACCESS BY INDEX ROWID | CT_COMPANY | 1 | 260 | 1 (0)| 00:00:01 |
|* 50 | INDEX UNIQUE SCAN | PK_CT_COMPANY | 1 | | 0 (0)| |
| 51 | TABLE ACCESS BY INDEX ROWID | CT_LEGAL_PERSON_COMPANY | 1 | 7 | 2 (0)| 00:00:01 |
|* 52 | INDEX UNIQUE SCAN | PK_CT_LEGAL_PERSON_COMPANY | 1 | | 1 (0)| 00:00:01 |
|* 53 | INDEX RANGE SCAN | PK_FC_COLLECT_REQUEST | 1 | 12 | 2 (0)| 00:00:01 |
|* 54 | TABLE ACCESS BY INDEX ROWID | FC_COLLECT | 1 | 19 | 2 (0)| 00:00:01 |
|* 55 | INDEX UNIQUE SCAN | PK_FC_COLLECT | 1 | | 1 (0)| 00:00:01 |
| 56 | TABLE ACCESS BY INDEX ROWID | RQ_ITEM_REQUEST | 43 | 989 | 15 (0)| 00:00:01 |
|* 57 | INDEX RANGE SCAN | XIF6RQ_ITEM_REQUEST | 43 | | 3 (0)| 00:00:01 |
| 58 | VIEW PUSHED PREDICATE | | 1 | 15 | 5 (0)| 00:00:01 |
| 59 | NESTED LOOPS | | 1 | 23 | 5 (0)| 00:00:01 |
| 60 | TABLE ACCESS BY INDEX ROWID | RQ_RETURN_ITEM | 1 | 17 | 4 (0)| 00:00:01 |
|* 61 | INDEX RANGE SCAN | PK_RQ_RETURN_ITEM | 1 | | 3 (0)| 00:00:01 |
|* 62 | INDEX UNIQUE SCAN | PK_RQ_RETURN | 1 | 6 | 1 (0)| 00:00:01 |
| 63 | TABLE ACCESS BY INDEX ROWID | CS_CUSTOMER | 1 | 245 | 2 (0)| 00:00:01 |
|* 64 | INDEX UNIQUE SCAN | PK_CS_CUSTOMER | 1 | | 1 (0)| 00:00:01 |
| 65 | TABLE ACCESS BY INDEX ROWID | CS_CUSTOMER_ACCOUNT | 1 | 17 | 3 (0)| 00:00:01 |
|* 66 | INDEX RANGE SCAN | CS_CUSTOMER_ACC_SEARH_IDX | 1 | | 2 (0)| 00:00:01 |
| 67 | TABLE ACCESS BY INDEX ROWID | CS_PAYMENT_MEDIA | 1 | 22 | 4 (0)| 00:00:01 |
|* 68 | INDEX RANGE SCAN | XIF1CS_PAYMENT_MEDIA | 1 | | 2 (0)| 00:00:01 |
|* 69 | TABLE ACCESS BY INDEX ROWID | CS_MEDIA_SUPPORT | 1 | 139 | 2 (0)| 00:00:01 |
|* 70 | INDEX UNIQUE SCAN | PK_CS_MEDIA_SUPPORT | 1 | | 1 (0)| 00:00:01 |
| 71 | TABLE ACCESS BY INDEX ROWID | BC_MEDIA_SUPPORT_STATUS | 1 | 36 | 1 (0)| 00:00:01 |
|* 72 | INDEX UNIQUE SCAN | PK_BC_MEDIA_SUPPORT_STATUS | 1 | | 0 (0)| |
|* 73 | INDEX UNIQUE SCAN | PK_AC_CUSTOMER_ACCOUNT | 1 | | 1 (0)| 00:00:01 |
|* 74 | TABLE ACCESS BY INDEX ROWID | AC_CUSTOMER_ACCOUNT | 1 | 19 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------------------------------------------------------------

Mensagem Ter Jun 02, 2015 11:13 am
portilho Site Admin

Mensagens: 482
Para que o plano fique melhor aqui no Fórum, tente utilizar a tag Code.
Mas dá para ver que estes planos não estão com A-Rows e E-Rows, pois o SQL não deve ter sido executado com GATHER_PLAN_STATISTICS ou com o STATISTICS_LEVEL em ALL (seja com ALTER SYSTEM ou ALTER SESSION).

Mensagem Ter Jun 02, 2015 11:15 am

Mensagens: 0
Sim, desculpe Portilho.
Infelizmente o processo foi abortado e estão reescrevendo a execução do script.
Quando executarem novamente eu posto aqui com o E rows e A rows.

Mensagem Qua Jun 03, 2015 11:36 am
portilho Site Admin

Mensagens: 482
Ok !
Bem, que bom que já se propuseram a reescrever! :-D


Voltar para Treinamento Oracle Tuning - SQL

cron