sql >> Databasteknik >  >> RDS >> Mysql

Bättre metod att ta bort flera rader i en MySQL-databas med PHP?

Jag är ingen expert, men jag tror

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

är snabbare. Anledningen är att det bara gör en fråga. Mindre data skickas till servern och allt bearbetas på en gång, i ett kommando.

I allmänhet, med den andra metoden, om du har säg 300 värden, betyder det att du gör ytterligare 300 funktionsanrop, 300 kommunikationer till servern, etc. även om det i praktiken kan variera.

edit:Vidare bör du alltid använda korrekt MySQL-escape, även om du kan vara säker på att data inte är skadliga. Se http://php.net/manual/en/ function.mysql-real-escape-string.php och överväg att använda mysqli eller PDO.



  1. Skapa en CHECK-begränsning i SQLite

  2. Dela upp kommaseparerade värden i måltabell med fast antal kolumner

  3. Hur man startar MySQL-server på Windows XP

  4. Oracle fråga ger fel