Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql отнема твърде много време за вмъкване на редове

Не приемайте автоматично, че настройките на вашия сървър са грешни. Настройките по подразбиране вероятно са добре. Вмъкването на 10 000 реда би трябвало да е безпроблемно, дори и на стара машина, но зависи от това как правите вмъкванията си.

Тук ще опиша 3 метода за вмъкване на данни, вариращи от бавно до бързо:

Следното е изключително бавно, ако имате много редове за вмъкване:

INSERT INTO mytable (id,name) VALUES (1,'Wouter');
INSERT INTO mytable (id,name) VALUES (2,'Wouter');
INSERT INTO mytable (id,name) VALUES (3,'Wouter');

Това вече е много по-бързо:

INSERT INTO mytable (id, name) VALUES
  (1, 'Wouter'),
  (2, 'Wouter'),
  (3, 'Wouter');

(Редактиран грешен синтаксис)

И това обикновено е най-бързото:

Имате CSV файл, който изглежда така:

1,Wouter
2,Wouter
3,Wouter

И след това стартирайте нещо като

LOAD DATA FROM INFILE 'c:/temp.csv' INTO TABLE mytable

Кой от горните методи използвате?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам хеширане на пароли с PDO, за да направя кода си по-сигурен?

  2. създайте mysql таблица, ако тя не съществува

  3. LOAD DATA INFILE е вмъкнат само 1 запис

  4. mysqldump цялата структура, но само данни от избрани таблици в една команда

  5. Направете mysql чувствителен към главни букви?