Ja, als u 300 miljoen rijen bulksgewijs in dezelfde tabel invoegt, moet u niet proberen deze invoeging parallel te laten lopen. Alle inserts moeten door dezelfde knelpunten gaan:het bijwerken van de index en het schrijven naar het fysieke bestand op de harde schijf. Deze bewerkingen vereisen exclusieve toegang tot de onderliggende bronnen (de index of de schijfkop).
Je voegt eigenlijk wat nutteloze overhead toe aan de database die nu verschillende gelijktijdige transacties moet verwerken. Dit verbruikt geheugen, dwingt contextwisseling, laat de schijfleeskop de hele tijd rondspringen, enzovoort.
Voeg alles in dezelfde thread in.
Het lijkt erop dat je eigenlijk gegevens importeert uit een soort CSV-bestand. Misschien wilt u de ingebouwde LOAD DATA INFILE
MySQL-opdracht, speciaal voor dit doel ontworpen. Beschrijf je bronbestand als je hulp nodig hebt bij het afstemmen van deze opdracht.