140 миллионов записей - это немного. Так что:
1. Проанализировать план запроса:
https://technet.microsoft.com/ru-ru/library/ms1780... .
2. Оптимизировать запрос (возможно, разбить его на несколько независимых запросов с сохранением промежуточных результатов во временных таблицах).
3. Создать необходимые для данного запроса индексы.
4. Настроить параметры СУБД.
И как более радикальный вариант - использовать специализированную СУБД, оптимизированную для OLAP.