Consulta em Oracle pesada

Salve !

estou fazendo uma consulta simples numa tabela Oracle que tem 9xx.xxx registros…(quase 1 milhao mesmo)…
o servidor é um poweredge da Dell com 32gb ram e um processador Xeon…

esta levando uns 3 minutos para que mostre a consulta…

o que pode ser feito para agilizar a mesma uma vez que vai ser inevitavel no projeto a extracao de dados dessa tabela…

agradeço antecipadamente aos colegas com experiencia na manipulacao desse volume de dados…

minere os dados, crie índices específicos, ou até mesmo exporte para uma tabela temporária para depois apresentar na consulta.

Mesmo você minerando os dados, etc, vai existir casos pelo ‘volume’ de informação a ser processada, que a página do PHP vai ‘cair’ pelo tempo parado, mas na hospedagem
o código vai continuar rodando até a conclusão do mesmo.

Normalmente nesses casos, eu faço um cálculo de tempo média quanto vai demorar para executar o a quantidade de registros que o usuário solicitou, coloca para executar
o código do usuário pedido e redireciono para uma página blank com o tempo ‘de execução’ até finalizar e uma flag em uma tabela para mostrar que foi finalizado e o usuário
poder dar prosseguimento depois deste tempo na tarefa, enquanto isso ele pode fazer outras coisas no sistema.

Eu uso esse método em um cliente que faz entregas de email marketing de fez em quando, e geração de boletos tipo carnês de outro, que ele gera todos os dados
depois o cliente finaliza importando para um aplicativo local que vai fazer a impressão tipo carnê.

Exemplo:

[code]// PEGA VARIÁVEL PASSADA DIRETAMENTE POR LINK

$Qtde_x=[glo_Qtde_Envios_Limite];

$Tempo_x=$Qtde_x/20;

if ($Tempo_x<1) {
$Tempo_x=2;
}

$Termino_x=Somar_Hora(‘M’, $Tempo_x, 1);

?>

Untitled 1 div.WordSection1 {page:WordSection1;} p.MsoNormal {margin-top:0cm; margin-right:0cm; margin-bottom:8.0pt; margin-left:0cm; line-height:107%; font-size:11.0pt; font-family:"Calibri","sans-serif";}




 


                             

 

 

Enviando E-mails...

Termino em: <?ECHO $Termino_x;?> ...

 

 

 

 

 

<?php [/code]

Verdade, eu sempre vou ter 1mi de registros…
e sempre a sql inicial se deparará com eles mesmo que dela surjam menos registros para tornar
mais agil a consulta…
talvez algo mais permanente a nivel de banco…tipo uma tabela que ja fosse origem da grande com menos dados
onde de tempos em tempos eu pudesse (opcionalmente) atualiza-la…

obrigado pelas ideias…

Pense em criar partições, por tempos ou alguma outra escala