- This topic has 4 replies, 3 voices, and was last updated 9 years, 5 months ago by Marcos Carraro.
Viewing 5 posts - 1 through 5 (of 5 total)
Viewing 5 posts - 1 through 5 (of 5 total)
- You must be logged in to reply to this topic.
Bom Dia,
Pessoal, estou habilitando o paralelismo em algumas tabelas onde mais tenho gargalo e quantidade de dados, porém quando rodo um explain o mesmo não retorna que esta utilizando o processamento paralelo.
Para habilitar o paralelismo na tabela.
alter table pedidos parallel (degree 4);
alter table pedidos parallel 4;
Explain da consulta
explain plan for select count(*) from pedidos;
Retorno
select * from table(dbms_xplan.display())
PLAN_TABLE_OUTPUT
Plan hash value: 1649378907
———————————————————————————-
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
———————————————————————————-
| 0 | SELECT STATEMENT | | 1 | 12457 (2)| 00:00:02 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | INDEX FAST FULL SCAN| PEDIDOS_EMPR_FK | 23M| 12457 (2)| 00:00:02 |
———————————————————————————-
Parametros
parallel_adaptive_multi_user = true
parallel_automatic_tuning = false
parallel_threads_per_cpu = 10
parallel_execution_message_size = 16384
Alguém sabe o porque não funciona?
Obs:. Também tentei fazer por hint e não funcionou.
Desde já muito obrigado.
Abraços
Ola Marcos,
Acredito que o paralelismo so funcione em FTS, full table scan.
Tente efetuar um select * e verifique se o paralelismo é utilizado.
At
Cesar
Bom Dia Cesar,
Sem sucesso, o resultado é o mesmo porém sem usar o index.
@Marcos Carraro
Geralmente todas as funcionalidade que envolve paralelismo fazem parte da versão Enterprise, mas segundo esse artigo existe apenas 1 funcionalidade que é disponível para a versão Standard, que é através do pacote DBMS_PARALLEL_EXECUTE.
Segue o artigo para mais detalhes:
http://antognini.ch/2010/09/parallel-processing-with-standard-edition/
Como você não disse qual era a versão o Oracle Database, fica 2 dicas.
Caso for Enterprise, segue outro artigo:
Boa Tarde
@RMAN
Realmente não tinha me atendado a versão do Oracle, é a Standard, utilizar o pacote DBMS_PARALLEL_EXECUTE envolveria na aplicação também (Assim foi o que entendi) e como a aplicação é terceiro não gostariam de alterar suas rotinas.
Muito Obrigado pelas respostas.
Abraços
Marcos Carraro