Esses agregados não são permitidos porque não podem ser recalculados apenas com base nos valores alterados.
Alguns agregados, como
COUNT_BIG()
ou SUM()
, pode ser recalculado apenas observando os dados que foram alterados. Eles são permitidos em uma exibição indexada porque, se um valor subjacente for alterado, o impacto dessa alteração poderá ser calculado diretamente. Outros agregados, como
MIN()
e MAX()
, não pode ser recalculado apenas observando os dados que estão sendo alterados. Se você excluir o valor que é atualmente o máximo ou mínimo, o novo máximo ou mínimo deve ser pesquisado e encontrado em todo tabela. O mesmo princípio se aplica a outros agregados, como
AVG()
ou os agregados de variação padrão. O SQL não pode recalculá-los apenas a partir dos valores alterados, mas precisa verificar novamente a tabela inteira para obter o novo valor.