Статистика опроса оборудования

У нас не работает “Статистика опроса оборудования”, так как таблица EquipmentPollStatistics имеет довольно существенные размеры, ЛЭРС убивает запрос по таймауту. Предлагаю изменить функцию sp_GetLastEquipmentPollState так как она очень долго выполняется если в таблице много данных.
Вариантов можно придумать много, как вариант:

SELECT eps.EquipmentId
,eps.[EndDate]
,eps.[PollResult]
,eps.[PollType]
,eps.[CommLinkType]
,eps.[PollErrorCount]
FROM dbo.EquipmentPollStatistics as eps
INNER JOIN (SELECT
dbo.EquipmentPollStatistics.EquipmentId,
MAX(dbo.EquipmentPollStatistics.EndDate) as EndDate
FROM
dbo.EquipmentPollStatistics
GROUP BY
dbo.EquipmentPollStatistics.EquipmentId
) last_eps ON last_eps.EquipmentId = eps.EquipmentId AND last_eps.EndDate = eps.EndDate

Уточните, пожалуйста, сколько у вас опрашивается устройств и сколько записей в таблице?

В любом случае, сейчас статистику можно получить только за последние семь дней, поэтому, думаю, стоит в процедуру ежедневного обслуживния БД добавить её очистку.

Всего опрашивается около 1800 приборов, а данных уже набралось на 17 миллионов. Ладно сносить так сносить.

Мы реализовали очистку статистики в версии 3.29. Статистика будет хранится только за последний месяц, этого будет достаточно для правильной работы. Ну и отзывчивость будет, естественно, выше.