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

Bedre metode til at slette flere rækker i en MySQL-database med PHP?

Jeg er ingen ekspert, men jeg tror på

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

er hurtigere. Årsagen er, at den kun laver én forespørgsel. Der sendes færre data til serveren, og det hele behandles på én gang, i én kommando.

Generelt, med den anden metode, hvis du har f.eks. 300 værdier, betyder det, at du foretager 300 ekstra funktionskald, 300 kommunikationer til serveren osv., selvom det i praksis kan variere.

edit:Yderligere bør du altid bruge korrekt MySQL-escape, selvom du kan være sikker på, at dataene ikke er skadelige. Se http://php.net/manual/en/ function.mysql-real-escape-string.php og overvej at bruge mysqli eller PDO.



  1. Android med rum - Sådan indstilles en fremmednøgle til null

  2. Dvale:Opret Mysql InnoDB-tabeller i stedet for MyISAM

  3. 2 måder at sammenkæde en streng og et tal i Oracle

  4. MADlib apt installere, hvordan?