Mysql
 sql >> Database >  >> RDS >> Mysql

Metodo migliore per eliminare più righe in un database MySQL con PHP?

Non sono un esperto, ma credo

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

è più veloce. Il motivo è che fa solo una query. Meno dati vengono inviati al server e vengono elaborati tutti in una volta, in un comando.

In generale, con l'altro metodo, se dici 300 valori, significa che stai effettuando 300 chiamate di funzioni aggiuntive, 300 comunicazioni con il server, ecc. anche se in pratica possono variare.

modifica:Inoltre, dovresti sempre usare l'escape corretto di MySQL, anche se puoi essere sicuro che i dati non siano dannosi. Vedi http://php.net/manual/en/ function.mysql-real-escape-string.php e considera l'utilizzo di mysqli o PDO.