sql >> Database teknologi >  >> RDS >> Mysql

mysql tager for lang tid at indsætte rækker

Antag ikke automatisk, at dine serverindstillinger er forkerte. Standardindstillingerne er sandsynligvis fine. At indsætte 10.000 rækker burde være et stykke kage, selv på en gammel maskine, men det afhænger af, hvordan du laver dine indstik.

Her vil jeg beskrive 3 metoder til at indsætte data, lige fra langsom til hurtig:

Det følgende er ekstremt langsomt, hvis du har mange rækker at indsætte:

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

Dette er allerede meget hurtigere:

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

(Redigeret forkert syntaks)

Og dette er normalt den hurtigste:

Har en CSV-fil, der ser sådan ud:

1,Wouter
2,Wouter
3,Wouter

Og kør så noget som

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

Hvilken af ​​ovenstående metoder bruger du?



  1. PostgreSQL-sikkerhedskopimetodefunktioner i AWS S3

  2. Indsæt med LEFT JOIN og INNER JOIN

  3. org.hibernate.internal.util.config.ConfigurationException:Kunne ikke finde cfg.xml ressource [/HibernateTest/src/hibernate.cfg.xml]

  4. Hvordan finder man fremmednøgleafhængigheder i SQL Server?