MySQL optymalizuje prędkość INSERT dzięki spowolnieniu indeksów

Dokumenty MySQL mówić :

Rozmiar tabeli spowalnia wstawianie indeksów przez log N, zakładając indeksy drzewa B.

Czy to oznacza, że ​​przy wstawianiu każdego nowego wiersza prędkość wstawiania zostanie spowolniona o współczynnik log N, gdzie N, zakładam, że jest to liczba wierszy? nawet jeśli wstawię wszystkie wiersze w jednym zapytaniu? tj .:

INSERT INTO mytable VALUES (1,1,1), (2,2,2),  (3,3,3), .... ,(n,n,n)

Gdzie n wynosi ~ 70 000

Obecnie mam ~ 1,47 miliona wierszy w tabeli o następującej strukturze:

CREATE TABLE mytable (
   `id` INT,
   `value` MEDIUMINT(5),
   `date` DATE,
   PRIMARY_KEY(`id`,`date`)
) ENGINE = InnoDB

Kiedy wstawiam wyżej wymienioną modę do transakcji, czas zatwierdzenia wynosi ~ 275 sekund. Jak mogę to zoptymalizować, ponieważ nowe dane mają być dodawane codziennie, a czas wstawiania będzie po prostu zwalniał.

Czy jest coś poza pytaniami, które mogą pomóc? może jakieś ustawienia konfiguracji?

Możliwa metoda 1 - Usuwanie indeksów

Czytałem, że usunięcie indeksów tuż przed wstawieniem może pomóc w wprowadzeniu szybkości. A po wstawkach ponownie dodaję indeks. Ale tutaj jedyny indeks jest kluczem podstawowym, a usunięcie go nie pomoże moim zdaniem. Ponadto, podczas gdy kluczem podstawowym jestporzucone , wszystkie wybrane zapytania będą powolne.

Nie znam żadnych innych możliwych metod.

Edytować : Oto kilka testów wstawiania ~ 60 000 wierszy w tabeli z ~ 1,47 mil wiersza:

Używając zwykłego zapytania opisanego powyżej: 146 sekund

Korzystanie z infile LOAD DATA MySQL: 145 sekund

Korzystanie z infile LOAD DATA MySQL i dzielenie plików csv zgodnie z sugestią Davida Jashi w jego odpowiedzi: 136 sekund dla 60 plików po 1000 wierszy każdy, 136 sekund dla 6 plików po 10 000 wierszy każdy

Usuwanie i ponowne dodawanie klucza podstawowego: usunięcie klucza zajęło 11 sekund, 0,8 sekundy na wstawienie danych, ALE 153 sekundy na ponowne dodanie klucza podstawowego, co zajęło ~ 165 sekund

questionAnswers(3)

yourAnswerToTheQuestion