Moja sugestia jest taka:Przenieś zapytania do bazy danych poza pętlę i zablokuj dostęp, aby nie wykonywać równoległych zapytań do bazy danych. Myślę, że to również przyspieszy sprawę, ponieważ nie będziesz mieć dostępu do dysku równoległego, a jednocześnie będziesz mógł wykonywać przetwarzanie równoległe.
Znaczenie (pseudokod)db =połącz z databasethreadlock =lock();
parfor {threadlock.lockresult =db query (pobierz tutaj wszystkie dane, ponieważ nie możesz przetwarzać podczas ładowania bez blokowania bazy danych)thread.unlockprocess danych wynikowych (które są teraz tylko danymi, a nie obiektem sql).}