No oráculo, paralelo é extensivamente usado. Quais são as diferenças entre paralelo, paralelo (8), paralelo(a, 8)?

no oráculo, o paralelo é extensivamente usado. Quais são as diferenças nas dicas paralelas, paralelas (8) e paralelas(a,8). Como escolher a melhor dica para a consulta?

SELECT /*+ PARALLEL */  * FROM BIG_TABLE_A a, BIG_TABLE_B b WHERE a.KEY=b.KEY;
SELECT /*+ PARALLEL(8) */ * FROM BIG_TABLE_A a, BIG_TABLE_B b WHERE a.KEY=b.KEY;
SELECT /*+ PARALLEL(a,8) PARALLEL(b,8) */ * FROM BIG_TABLE_A a, BIG_TABLE_B b WHERE a.KEY=b.KEY;
Author: touchchandra, 2014-11-26

1 answers

Ref : https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements006.htm#BABHFDDH

Para uma indicação de nível paralelo:

Paralelo: a declaração sempre é executada em paralelo, e o banco de dados calcula o grau de paralelismo, que pode ser 2 ou maior.

Paralelo (por omissão): o Optimizador calcula um grau de paralelismo igual ao número de CPUs disponíveis em todas as instâncias participantes vezes o valor do Parallel_threads_per_cpu parâmetro de inicialização.

Paralelo (AUTO): a base de dados calcula o grau de paralelismo, que pode ser 1 ou maior. Se o grau computado de paralelismo é 1, então a declaração corre serialmente.

Paralelo (MANUAL): o Optimizador é forçado a usar as configurações paralelas dos objectos na declaração.

Paralelo (inteiro): o Optimizador usa o grau de paralelismo especificado pelo inteiro.

 3
Author: touchchandra, 2014-11-27 16:01:10