En beräknad kolumn betyder normalt ett värde du kan beräkna per rad. MySQL stöder inte det, men SQL Server gör det. Till exempel för att lagra summan av två kolumner permanent:
create table Table1 (a int, b int, c as a+b persisted)
Du vill dock lagra ett aggregat, det vill säga ett värde för en grupp rader. MySQL och SQL Server stöder inte materialiserade vyer med ett aggregat, men Oracle gör det:
create table Table1 (a int, b int);
create materialized view View1 as
select a
, count(*) as Cnt
from Table1
group by
a;
Men med MySQL är det närmaste du kan göra ett cronjob som regelbundet fyller i en tabell:
truncate table Table1Summary;
insert Table1Summary (a, Cnt) select a, count(*) from Table1;
Du kan fråga tabellen som en materialiserad vy; det kommer att vara lika snabbt, men inte garanterat uppdaterat.