Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Bessere Methode zum Löschen mehrerer Zeilen in einer MySQL-Datenbank mit PHP?

Ich bin kein Experte, aber ich glaube

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

ist schneller. Der Grund ist, dass es nur eine Abfrage macht. Es werden weniger Daten an den Server gesendet und alles auf einmal verarbeitet, in einem Befehl.

Im Allgemeinen bedeutet die andere Methode, wenn Sie beispielsweise 300 Werte haben, dass Sie 300 zusätzliche Funktionsaufrufe, 300 Kommunikationen mit dem Server usw. durchführen, obwohl dies in der Praxis variieren kann.

Bearbeiten:Außerdem sollten Sie immer das richtige MySQL-Escape verwenden, auch wenn Sie sicher sein können, dass die Daten nicht bösartig sind. Siehe http://php.net/manual/en/ function.mysql-real-escape-string.php und erwägen Sie die Verwendung von mysqli oder PDO.