sql >> Databáze >  >> RDS >> Mysql

InnoDB vkládá velmi pomalu a zpomaluje

InnoDB poskytuje složitější strukturu klíčů než MyIsam (FOREIGN KEYS ) a regenerace klíčů je v InnoDB opravdu pomalá. Všechny příkazy update/insert byste měli uzavřít do jedné transakce (ty jsou v InnoDB vlastně docela rychlé, jednou jsem měl asi 300 000 vkládacích dotazů na tabulku InnoDb se 2 indexy a trvalo to asi 30 minut, jakmile jsem vložil každých 10 000 vložení do BEGIN TRANSACTION a COMMIT trvalo to méně než 2 minuty).

Doporučuji použít:

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

To způsobí, že InnoDB obnoví indexy jen jednou a ne několik setkrát.

Dejte mi vědět, jestli to fungovalo



  1. CRUD pro MySQL a PHP

  2. datagrip Nelze použít změny Tato tabulka je pouze pro čtení. Změny editoru buněk nelze použít

  3. Je možné vložit nový řádek na začátek tabulky MySQL?

  4. migrovat data z MS SQL do PostgreSQL?