Wstawianie wielu wierszy w mysql

Czy zapytanie do bazy danych jest szybsze, jeśli wstawiam wiele wierszy jednocześnie:

jak

INSERT....

UNION

INSERT....

UNION

(muszę wstawić 2-3000 wierszy)

Rozwiązanie

Polecenia INSERT używające składni VALUES mogą wstawiać wiele wierszy. Aby to zrobić, dołącz wiele list wartości kolumn, każda zamknięta w nawiasie i oddzielona przecinkami.

Przykład:

INSERT INTO tbl_name
    (a,b,c)
VALUES
    (1,2,3),
    (4,5,6),
    (7,8,9);

Źródło

Komentarze (7)

Jeśli masz swoje dane w pliku tekstowym, możesz użyć LOAD DATA INFILE.

Podczas ładowania tabeli z pliku tekstowego użyj LOAD DATA INFILE. Jest to zazwyczaj 20 razy szybsze niż użycie polecenia INSERT.

Optimizing INSERT Statements

Więcej wskazówek, jak przyspieszyć instrukcje wstawiania, znajdziesz na powyższym linku.

Komentarze (5)
BEGIN;
INSERT INTO test_b (price_sum)
  SELECT price
  FROM   test_a;
INSERT INTO test_c (price_summ) 
  SELECT price
FROM   test_a;
COMMIT;
Komentarze (2)