Эти агрегаты недопустимы, поскольку они не могут быть пересчитаны исключительно на основе измененных значений.
Некоторые агрегаты, такие как COUNT_BIG()
или SUM()
, можно пересчитать, просто взглянув на данные, которые изменились. Они разрешены в индексированном представлении, потому что, если базовое значение изменяется, влияние этого изменения можно рассчитать напрямую.
Другие агрегаты, такие как MIN()
и MAX()
, невозможно пересчитать, просто взглянув на данные, которые изменяются. Если вы удалите значение, которое в данный момент является максимальным или минимальным, то нужно искать новый максимальный или минимальный и находить его в таблице всей .
Тот же принцип применяется к другим агрегатам, таким как AVG()
или к стандартным агрегатам вариаций. SQL не может пересчитать их только на основании измененных значений, но ему необходимо повторно просканировать всю таблицу, чтобы получить новое значение.