Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:kolumna obliczeniowa

Kolumna wyliczona zwykle oznacza wartość, którą można obliczyć w każdym wierszu. MySQL tego nie obsługuje, ale SQL Server tak. Na przykład, aby na stałe zapisać sumę dwóch kolumn:

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

Jednak chcesz przechowywać agregat, czyli wartość dla grupy wierszy. MySQL i SQL Server nie obsługują widoków zmaterializowanych z agregacją, ale Oracle:

create table Table1 (a int, b int);

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

Jednak w przypadku MySQL najbliższym, co możesz zrobić, jest zadanie cron, które okresowo wypełnia tabelę:

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

Możesz wysyłać zapytania do tabeli jak do widoku zmaterializowanego; będzie tak samo szybki, ale nie ma gwarancji, że będzie aktualny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sortowanie według daty i godziny w porządku malejącym?

  2. Jak przeprowadzić wyszukiwanie z uwzględnieniem akcentu i wielkości liter w bazie danych MediaWiki?

  3. Jak przechowywać wiele opcji w jednej tabeli?

  4. Zapytanie SQL, aby znaleźć klucz podstawowy tabeli?

  5. Importowanie wielu plików csv do tabel mysql