Mijn suggestie is dit:verplaats de databasequery's buiten de lus en vergrendel de toegang zodat u geen parallelle databasequery's uitvoert. Ik denk dat dat ook de zaken zal versnellen, omdat je geen parallelle schijftoegang hebt, terwijl je toch parallelle verwerking kunt doen.
Betekenis (pseudo-code)db =verbinden met databasethreadlock =lock();
parfor {threadlock.lockresult =db-query (haal alle gegevens hier op, omdat u niet kunt verwerken terwijl u laadt zonder de database vergrendeld te houden) thread.unlockprocess resulterende gegevens (die nu alleen gegevens zijn en geen sql-object).}