Bem, ** sempre ** que se fala de planos de execução diferentes para o mesma SQL 
mas com valores diferentes  (é o caso, ao que entendi), a PRIMEIRA coisa que se 
pensa é que o CBO recebeu estatísticas diferentes para os diferentes valores em 
questão... Para vc confirmar se as estatísticas são de boa qualidade, obtenha o 
plano de execução Extendido do SQL em questão para que vc tenha as colunas de 
E-ROWS e A-ROWS (ie, qtdade de linhas estimadas e efetivas) e veja se está com 
diferença significativa ou não... CASO esteja, pode ser o caso de melhorar a 
qualidade das estatísticas aumentando SIZE de histogramas na coluna em questão, 
indicando cardinalidade diferente com o hint de cardinalidade, ou coisas 
assim...
  Mas antes de qualquer coisa : tenha CERTEZA que o CBO não está mesmo fazendo 
a coisa certa gerando um plano diferente - no plano diferente, sem paralelismo, 
a performance é pior ou melhor ???? 
 E finalmente : vc tem CERTEZA que os recursos necessários para se fazer 
Parallel sql estavam disponíveis quando foi gerado o plano diferente ?? É Claro 
que se outros SQLs estavam ocupando os parallel slaves não sobraram recursos 
pra vc....

  []s

  Chiappa

Responder a