Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:Cột được tính toán

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng lớp cơ sở dữ liệu Django bên ngoài Django?

  2. Thủ tục lưu trữ MySQL với các tham số

  3. Chuỗi lệnh SQL dưới dạng số

  4. Làm thế nào để kiểm tra số cổng mặc định cho kết nối mysql? Kết nối không hoạt động! kết nối jdbc

  5. Làm cách nào để so khớp mờ email hoặc điện thoại bằng Elasticsearch?