Следуя совету @JNevills, я объединил 27 запросов в один мега-запрос.
разделены символом «;» общим весом 54,778 символов.
Время исполнения:
- 27 запросов последовательно: 45 секунд
- 1 мега-запрос: 30 секунд
Я узнал, что работаю над хорошо зарекомендовавшей себя db-версией, а именно - PostgreS
9.3.11.
Даже если бы у меня было больше ядер, эта версия не побеспокоилась бы использовать их.
Если я выполню мега-запрос в Squirrel, это займет около 20 секунд.
Производительность может быть выше при использовании современной базы данных.
Эскиз решения
rs.Open sqlQuery, conn
for i = 1 to 27
call writeRecordSetToSheet(rs, sheetname)
Set rs = rs.NextRecordset '<- magic line for accessing the other 26 recordsets
next i