Selecionar e excluir registros duplicados por data da última atualização?
07/11/2017
0
Parece surreal, mas mais de 16 mil registros duplicados para cada valor e o erro ocorreu com cerca de uns 100 valores. O erro foi percebido após análise devido ao alto consumo de recursos do servidor, e foi observado que o erro existe desde 2014 devido às datas de inserções e de atualizações dos registros.
O que vai ser feito é excluir todos aqueles que são repetidos com data inferior a 01/11/2017 a fim de amenizar o consumo de recursos e será feita a correção do sistema.
Gostaria de saber como retornar e excluir registros repetidos, por exemplo se existir 100 registros com nomes iguais, excluir aqueles com data de última atualização inferior a 01/11/2017
Anderson
Posts
07/11/2017
Henrique Dias
mas para 16 mil registros vai demorar algumas horas, nao deve ser o jeito mais eficiente, porem pelo fato de eu ser iniciante e o que me vem na mente
07/11/2017
Anderson
select
delete
07/11/2017
Anderson
Vamos supor, todos os registros onde existam registros com mais de 100 repetições:
SELECT nome, valor, dt_add, dt_update, COUNT(*) FROM configuracoes GROUP BY nome, valor HAVING COUNT(*) > 100 ORDER BY dt_update DESC
Para visualizar as datas de ultima atualização de determinado registro especifico:
SELECT nome, valor, dt_add, dt_update FROM configuracoes WHERE nome = "habilitar-alertas" ORDER BY dt_update DESC
Deletar com datas inferiores a determinada data:
DELETE FROM configuracoes WHERE nome = "habilitar-alertas" and DATE(dt_update) < '2017-11-01';
Clique aqui para fazer login e interagir na Comunidade :)