Tempo de execução scripts PHP

Galera,

Atualmente estou trabalhando em um projeto cuja base de dados é muito extensa, algo em torno de 1,5Gb. Nesse projeto existem alguns scripts PHP rodando com serviços CRON que são responsáveis por fazer a mineração de alguns (muitos) dados e enviar um resumo para o usuário por email.

A questão é que este script demora muito tempo para executar devido a quantidade exorbitante de dados. Como eu nunca trabalhei com algo tão grande assim, venho procurar a ajuda para tentar solucionar o seguinte problema:

Já aumentei o set_time_limit() e o max_execution_time, porém não posso setar um valor infinito pois o script pode acabar alocando muita memória ou demorar muito a ponto da mesma tarefa CRON ser chamada novamente.

Preciso encontrar uma maneira de fazer com que esta tarefa CRON chame outros scripts que rodem independentes deste primeiro que está fazendo a chamada.

Tentei pequisar sobre boas práticas para scripts longos em PHP e não estou encontrando muita coisa útil, se alguém poder “me mostrar o caminho das pedras” já será de grande ajuda.

Obrigado

Alguns pontos a se observar…

As tabelas relacionadas no script, estão devidamente indexadas?
No script, percebeu se a conexão com o banco está sendo aberta e fechada várias vezes?
As queries utilizadas estão “aceitáveis” no quesito performance, exemplo: uma única query com join ou várias queries “passo-a-passo”?

Bom, há vários outras situações que podem influenciar, mas eu começaria analisando o banco, e por último o php, talvez ajustando os índices das tabelas ou criando views para que o script utilize, pode melhorar…