Używanie Mysql do wykonywania wielu INSERT na połączonych tabelach
Mam dwie tabele, jedną połączoną z kluczem podstawowym drugiej. W tej chwili WSTAWAM do tabeli A, otrzymuję LAST_INSERT_ID, a następnie INSERT do tabeli B.
Ale mam setki rekordów do wstawienia i chcę przyspieszyć.
W Mysql możesz:
<code>INSERT INTO table_a (v1, v2, c3) VALUE (0, 1, 2); INSERT INTO table_a (v1, v2, v3) VALUE (4, 5, 6); </code>
itp. lub
INSERT INTO table_a (v1, v2, v3) VALUE (0, 1, 2), (4, 5, 6), etc
aby dodać wiele wpisów szybciej - ale tylko dla jednej tabeli.
Oczywiście ten ostatni jest znacznie szybszy. Zastanawiałem się, czy możliwe jest powtórzenie tego zachowania dla mojego przykładu z dwiema połączonymi tabelami przy użyciu procedury składowanej i czy miałoby to podobną dramatyczną poprawę wydajności:
coś w rodzaju: call special_insert ((0, 1, 2), (4, 5, 6), itp.); lub podobne.
Nie mam doświadczenia w procedurze składowania, więc łowię pomysły, w którym kierunku iść.