Mysql
 sql >> Baza danych >  >> RDS >> Mysql

InnoDB wstawia się bardzo wolno i zwalnia

InnoDB zapewnia bardziej złożoną strukturę kluczy niż MyIsam (FOREIGN KEYS ), a regenerowanie kluczy w InnoDB jest bardzo powolne. Wszystkie instrukcje update/insert należy zawrzeć w jedną transakcję (w InnoDB są one właściwie dość szybkie, raz miałem około 300 000 zapytań insertowych na tabeli InnoDb z 2 indeksami i zajęło to około 30 minut, raz załączałem co 10 000 insertów do BEGIN TRANSACTION i COMMIT zajęło to mniej niż 2 minuty).

Polecam użyć:

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

Spowoduje to, że InnoDB odświeży indeksy tylko raz, a nie kilkaset razy.

Daj mi znać, czy zadziałało



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AKTUALIZACJA PHP MYSQL, jeśli istnieje lub INSERT, jeśli nie?

  2. codeIgniter zamiast tego użyj mysql_real_escape_string(). problem z połączeniem z bazą danych

  3. InnoDB Tabela jest pełna błąd

  4. procedura w mysql

  5. LINQ to MySQL - jaka jest najlepsza opcja?