Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:изчислена колона

Изчислена колона обикновено означава стойност, която можете да изчислите на ред. MySQL не поддържа това, но SQL Server го поддържа. Например, за да съхранявате постоянно сумата от две колони:

create table Table1 (a int, b int, c as a+b persisted)

Въпреки това, вие търсите да съхраните агрегат, тоест стойност за група от редове. MySQL и SQL Server не поддържат материализирани изгледи с агрегат, но Oracle го прави:

create table Table1 (a int, b int);

create materialized view View1 as
select  a
,       count(*) as Cnt
from    Table1
group by
    a;

С MySQL обаче най-близкото, което можете да направите, е cronjob, който периодично попълва таблица:

truncate table Table1Summary;
insert Table1Summary (a, Cnt) select a, count(*) from Table1;

Можете да направите заявка към таблицата като материализиран изглед; ще бъде толкова бързо, но не е гарантирано, че ще бъде актуално.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. използвайки mysql_close()

  2. PHP - Защитени страници само за членове със система за вход

  3. Как да създадете потребител в MySQL

  4. Вземете изявление за вмъкване за съществуващ ред в MySQL

  5. mysql_real_escape_string() и mysql_escape_string() достатъчни ли са за сигурността на приложението?