Te agregaty nie są dozwolone, ponieważ nie można ich przeliczyć wyłącznie na podstawie zmienionych wartości.
Niektóre agregaty, takie jak COUNT_BIG()
lub SUM()
, można ponownie obliczyć, po prostu patrząc na dane, które uległy zmianie. Są one dozwolone w indeksowanym widoku, ponieważ w przypadku zmiany wartości bazowej wpływ tej zmiany można obliczyć bezpośrednio.
Inne agregaty, takie jak MIN()
i MAX()
, nie można ponownie obliczyć tylko patrząc na dane, które są zmieniane. Jeśli usuniesz wartość, która jest obecnie wartością maksymalną lub minimalną, nowa wartość maksymalna lub minimalna musi zostać wyszukana i znaleziona w całości stół.
Ta sama zasada dotyczy innych agregatów, takich jak AVG()
lub standardowe agregaty zmienności. SQL nie może ich ponownie obliczyć tylko ze zmienionych wartości, ale musi ponownie przeskanować całą tabelę, aby uzyskać nową wartość.