sql >> Base de Datos >  >> RDS >> Mysql

¿Mejor método para eliminar varias filas en una base de datos MySQL con PHP?

No soy un experto, pero creo

$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");

es más rápido. La razón es que solo hace una consulta. Se envían menos datos al servidor y todo se procesa de una sola vez, con un solo comando.

En general, con el otro método, si tiene, digamos, 300 valores, eso significa que está realizando 300 llamadas a funciones adicionales, 300 comunicaciones con el servidor, etc. aunque en la práctica eso puede variar.

editar:Además, siempre debe usar el escape de MySQL adecuado, incluso si puede estar seguro de que los datos no son maliciosos. Ver http://php.net/manual/en/ función.mysql-real-escape-cadena.php y considere usar mysqli o PDO.