Я думаю, вам нужно определить, где находится узкое место. Ваш оператор выбора занимает 10 секунд для выполнения, но ваш анализ кода занимает миллисекунды? Или это наоборот?
Я бы собрал некоторые метрики для всего, что у вас есть, прежде чем пытаться перейти к многопоточности. Я думаю, вы обнаружите, что ваш код C # будет очень быстрым, и что ваш SQL замедлит вас. Сначала обратите внимание на оптимизацию SQL и базы данных.