Если вы используете «фиксированные» интервалы, вы можете использовать справочную таблицу, в которой хранится ваш ключ кластеризованного индекса.Предполагая, что ключом является INT Identity
, вы можете создать такую таблицу:
Time Datetime,
Qtr_Hour int,
Half_Hour int,
Hour int
Запустить запрос, который выполнит:
SELECT COUNT(*)
FROM MyTable
WHERE ClusterKey > (SELECT Qtr_Hour
FROM LookupTable)
Затем обновите таблицу с новым соответствующим значением для MAX(ClusterKey)
.
Вам нужно будет разработать детали для вашего варианта использования, но если у вас есть таблица из 1 строки, которую вы просто обновляете при запросе, и она использует ключ кластера в качестве контрольной точки, должно быть очень быстро получить дельту по количеству строк с момента последнего обновления.