sql >> Database >  >> RDS >> Mysql

Betere methode om meerdere rijen in een MySQL-database te verwijderen met PHP?

Ik ben geen expert, maar ik geloof

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

is sneller. De reden is dat het maar één query maakt. Er worden minder gegevens naar de server gestuurd en het wordt allemaal in één keer verwerkt, in één opdracht.

In het algemeen, met de andere methode, als je bijvoorbeeld 300 waarden hebt, betekent dit dat je 300 extra functie-aanroepen doet, 300 communicaties naar de server, enz. Maar in de praktijk kan dat variëren.

edit:Verder moet je altijd de juiste MySQL-escaping gebruiken, zelfs als je zeker weet dat de gegevens niet schadelijk zijn. Zie http://php.net/manual/en/ function.mysql-real-escape-string.php en overweeg om mysqli of PDO te gebruiken.



  1. Hoe worden Websphere MQ-berichten opgeslagen om persistentie mogelijk te maken?

  2. Lijst met alle index- en indexkolommen in SQL Server DB

  3. Hoe schema's gebruiken in Django?

  4. Database bijwerken met meerdere SQL-instructies