Моето предложение е следното:Преместете заявките към базата данни извън цикъла и заключете достъпа, така че да не правите паралелни заявки към база данни. Мисля, че това също ще ускори нещата, тъй като няма да имате паралелен достъп до диск, като същевременно ще можете да извършвате паралелна обработка.
Значение (псевдо код) db =свържете се с базата данниthreadlock =lock();
parfor {threadlock.lockresult =db заявка (изтеглете всички данни тук, тъй като не можете да обработвате, докато зареждате, без да запазите базата данни заключена) thread.unlockprocess резултатите (които вече са само данни, а не sql обект).}