Tak, jeśli wstawiasz zbiorczo 300 milionów wierszy do tej samej tabeli, nie powinieneś próbować zrównoleglać tego wstawiania. Wszystkie wstawki muszą przejść przez te same wąskie gardła:aktualizowanie indeksu i zapisywanie do fizycznego pliku na dysku twardym. Operacje te wymagają wyłącznego dostępu do podstawowych zasobów (indeks lub głowica dysku).
W rzeczywistości dodajesz trochę bezużytecznych narzutów na bazę danych, która teraz musi obsługiwać kilka jednoczesnych transakcji. To zużywa pamięć, wymusza przełączanie kontekstu, sprawia, że głowica odczytu dysku cały czas przeskakuje i tak dalej.
Wstaw wszystko do tego samego wątku.
Wygląda na to, że faktycznie importujesz dane z pewnego rodzaju pliku CSV. Możesz użyć wbudowanego LOAD DATA INFILE
Polecenie MySQL, przeznaczone właśnie do tego celu. Opisz swój plik źródłowy, jeśli potrzebujesz pomocy w dostrojeniu tego polecenia.