Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhor método para excluir várias linhas em um banco de dados MySQL com PHP?


Não sou especialista, mas acredito
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");

é mais rápido. A razão é que ele faz apenas uma consulta. Menos dados são enviados para o servidor e todos são processados ​​de uma só vez, em um comando.

Em geral, com o outro método, se você tiver, digamos, 300 valores, isso significa que você está fazendo 300 chamadas de função adicionais, 300 comunicações com o servidor, etc. embora na prática isso possa variar.

edit:Além disso, você deve sempre usar o escape adequado do MySQL, mesmo que possa ter certeza de que os dados não são maliciosos. Veja http://php.net/manual/en/ function.mysql-real-escape-string.php e considere usar mysqli ou PDO.