MySQL - Procedures

4 respostas
ssh

Boa tarde,

Pessoal, é o seguinte, tenho uma tabela que só irei armazenar dados durante 1 mês.

A solução que IMAGINEI para isso, é criar uma Procedure(procedimento). E nesse procedimento, antes de inserir o registro nessa tabela, ela percorreria todos os registros dessa tabela e verificaria se o tempo é maior do que um mês.
Se sim, deletaria esse registro. se não, manteria e no final dessas verificações inseriria o novo registro.

Isso é possível? Se não for, alguém tem uma solução para esse problema?
Alguém pode me dar uma ajuda, com algo parecido ?
Por onde posso começar?

Obrigado.

4 Respostas

E

Quando isso é necessário, normalmente cria-se um job (uma tarefa executada periodicamente) que faz basicamente um “delete from tabela where data > hoje - 30 dias” ou coisa parecida. Esse job deve ser rodado quando o sistema está ocioso, normalmente de madrugada.

Quando eu ouço alguém falando “varrer toda a tabela” meu sangue gela, porque isso me faz lembrar de um “full table scan”, que é uma coisa que faz qualquer DBA ter um enfarte quando ouve falar disso.

ssh

entanglement:
Quando isso é necessário, normalmente cria-se um job (uma tarefa executada periodicamente) que faz basicamente um “delete from tabela where data > hoje - 30 dias” ou coisa parecida. Esse job deve ser rodado quando o sistema está ocioso, normalmente de madrugada.

Quando eu ouço alguém falando “varrer toda a tabela” meu sangue gela, porque isso me faz lembrar de um “full table scan”, que é uma coisa que faz qualquer DBA ter um enfarte quando ouve falar disso.

Hehe, não repare nos detalhes.

Como eu posso criar esses jobs?
o MySQL tem essa opção?
Ouvi dizer de um tal de Quartz Schedule, mas andei vendo e a implementação do mesmo parece ser complicada.

Sou iniciante, tenha paciencia. rs.

E

http://dev.mysql.com/doc/refman/5.1/en/events.html

ssh

Obrigado.

Criado 6 de dezembro de 2011
Ultima resposta 6 de dez. de 2011
Respostas 4
Participantes 2