lkm 0 Denunciar post Postado Janeiro 16, 2009 tenho uma base de dados mysql com 35MB e em torno de 11 tabelas uma delas em específico tb_1 com 600.000 registros e utilizo os seguintes comandos para fazer uma atualização na tabela mysql_query("update tb_1 set devolvido='S', devolvido_em='$data_atual' where cod IN ($baixa) and cod_2='$cod_3' order by id desc") or die ("Erro 0."); mysql_query("update tb_tb_2 set locado='N' where codigo IN ($baixa) order by id desc") or die ("Erro 1."); porém isso demos muito, cerca de uns 15s e quando uso limit 0,500 logo após o order by is desc para limitar os 500 últimos registros, o comando não é executado, o mysql não aceita, da erro. tem alguma maneira de limitar a leitura somente dos 500 últimos registros para o comando não ter que fazer a leitura dos 600.000? Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Janeiro 16, 2009 ha index em 'codigo' e 'cod'? pq você esta ordenando? Compartilhar este post Link para o post Compartilhar em outros sites
lkm 0 Denunciar post Postado Janeiro 17, 2009 como tenho 600.000 registros gostaria de fazer o update de trás pra frente (dos últimos registros para os primeiros), assim se for encontrado o registro logo e para a atualização e evita ler todo o retante. Compartilhar este post Link para o post Compartilhar em outros sites