Một cột được tính thông thường có nghĩa là một giá trị bạn có thể tính toán trên mỗi hàng. MySQL không hỗ trợ điều đó, nhưng SQL Server thì có. Ví dụ:để lưu trữ vĩnh viễn tổng của hai cột:
create table Table1 (a int, b int, c as a+b persisted)
Tuy nhiên, bạn đang tìm cách lưu trữ tổng hợp, tức là một giá trị cho một nhóm hàng. MySQL và SQL Server không hỗ trợ các dạng xem cụ thể hóa với tổng thể, nhưng Oracle thì:
create table Table1 (a int, b int);
create materialized view View1 as
select a
, count(*) as Cnt
from Table1
group by
a;
Tuy nhiên, với MySQL, cách gần nhất bạn có thể làm là cronjob điền bảng định kỳ:
truncate table Table1Summary;
insert Table1Summary (a, Cnt) select a, count(*) from Table1;
Bạn có thể truy vấn bảng giống như một dạng xem vật thể hóa; nó sẽ nhanh như vậy, nhưng không được đảm bảo là cập nhật.