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

InnoDB вмъква много бавно и бавно

InnoDB предоставя по-сложна структура на ключовете от MyIsam (FOREIGN KEYS ) и регенерирането на ключове е наистина бавно в InnoDB. Трябва да включите всички изрази за актуализиране/вмъкване в една транзакция (те всъщност са доста бързи в InnoDB, веднъж имах около 300 000 заявки за вмъкване в таблица InnoDb с 2 индекса и отне около 30 минути, след като включих всеки 10 000 вмъквания в BEGIN TRANSACTION и COMMIT отне по-малко от 2 минути).

Препоръчвам да използвате:

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

Това ще накара InnoDB да опреснява индексите само веднъж, а не няколкостотин пъти.

Уведомете ме дали работи



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ако не съществува, поставете в MySql

  2. Как мога да проверя дали MySQL таблица съществува с PHP?

  3. Ефективно съхраняване на 7 300 000 000 реда

  4. Laravel - как да актуализирате цялата колекция

  5. Как да извикам съхранена процедура на mysql с аргументи от командния ред?