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

InnoDB indsætter meget langsomt og langsommere

InnoDB giver mere kompleks nøglestruktur end MyIsam (FOREIGN KEYS ) og regenerering af nøgler er virkelig langsom i InnoDB. Du bør vedlægge alle opdaterings-/indsæt-udsagn i én transaktion (de er faktisk ret hurtige i InnoDB, engang havde jeg ca. 300.000 insert-forespørgsler på InnoDb-tabellen med 2 indekser, og det tog omkring 30 minutter, når jeg først lukkede hver 10.000 inserts i BEGIN TRANSACTION og COMMIT det tog mindre end 2 minutter).

Jeg anbefaler at bruge:

BEGIN TRANSACTION;
SELECT ... FROM products;
UPDATE ...;
INSERT INTO ...;
INSERT INTO ...;
INSERT INTO ...;
COMMIT;

Dette vil få InnoDB til at opdatere indekser bare én gang ikke få hundrede gange.

Lad mig vide, om det virkede



  1. Cloud Disaster Recovery til MariaDB og MySQL

  2. NULL-værdier inde i NOT IN-sætningen

  3. Find duplikerede poster i en kolonne

  4. PostgreSQL Incremental Backup og Point-In-Time Recovery