sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Beräknad kolumn

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.



  1. SQL Server-fråga för att hitta alla aktuella databasnamn

  2. Grunderna i SQL Server Task Automation

  3. Varför MySQL helt omformatera VIEW-frågetexten?

  4. Ignorerar tidszoner helt och hållet i Rails och PostgreSQL