Kolumna wyliczona zwykle oznacza wartość, którą można obliczyć w każdym wierszu. MySQL tego nie obsługuje, ale SQL Server tak. Na przykład, aby na stałe zapisać sumę dwóch kolumn:
create table Table1 (a int, b int, c as a+b persisted)
Jednak chcesz przechowywać agregat, czyli wartość dla grupy wierszy. MySQL i SQL Server nie obsługują widoków zmaterializowanych z agregacją, ale Oracle:
create table Table1 (a int, b int);
create materialized view View1 as
select a
, count(*) as Cnt
from Table1
group by
a;
Jednak w przypadku MySQL najbliższym, co możesz zrobić, jest zadanie cron, które okresowo wypełnia tabelę:
truncate table Table1Summary;
insert Table1Summary (a, Cnt) select a, count(*) from Table1;
Możesz wysyłać zapytania do tabeli jak do widoku zmaterializowanego; będzie tak samo szybki, ale nie ma gwarancji, że będzie aktualny.