Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Lepsza metoda usuwania wielu wierszy w bazie danych MySQL za pomocą PHP?

Nie jestem ekspertem, ale wierzę

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

jest szybszy. Powodem jest to, że tworzy tylko jedno zapytanie. Mniej danych jest wysyłanych na serwer i wszystkie są przetwarzane za jednym razem, w jednym poleceniu.

Ogólnie rzecz biorąc, w przypadku drugiej metody, jeśli masz, powiedzmy, 300 wartości, oznacza to, że wykonujesz 300 dodatkowych wywołań funkcji, 300 komunikacji z serwerem itd., chociaż w praktyce może się to różnić.

edytuj:Co więcej, zawsze powinieneś używać właściwego escapingu MySQL, nawet jeśli masz pewność, że dane nie są złośliwe. Zobacz http://php.net/manual/en/ function.mysql-real-escape-string.php i rozważ użycie mysqli lub PDO.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# dane bazy danych dostępu do aplikacji Windows nie są zachowywane po zamknięciu

  2. Odkażanie i weryfikacja formularza php

  3. Błąd klucza obcego mysql #1452

  4. Jak dołączyć do tabeli w MySQL z tabelą w Oracle?

  5. Najnowsza data i godzina z unikalnego indeksu mysql