sql >> データベース >  >> RDS >> Mysql

MySQL:計算列

    計算列とは、通常、行ごとに計算できる値を意味します。 MySQLはそれをサポートしていませんが、SQLServerはサポートしています。たとえば、2つの列の合計を永続的に保存するには:

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

    ただし、集計、つまり行のグループの値を格納しようとしています。 MySQLとSQLServerは、アグリゲートを使用したマテリアライズドビューをサポートしていませんが、Oracleは次のことをサポートしています。

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

    ただし、MySQLを使用する場合、最も近い方法は、テーブルに定期的にデータを入力するcronジョブです。

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

    マテリアライズド・ビューのようにテーブルを照会できます。速度は速くなりますが、最新であるとは限りません。



    1. MySQL、Postgres、Aurora用のサーバーレスGraphQLAPIを作成する方法

    2. Psycopg2のLoggingConnectionを使用するにはどうすればよいですか?

    3. mysql for python2.7はPythonv2.7が見つからないと言っています

    4. 共有ホスティング上のmysqlデータベースにリモートアクセスすることは可能ですか?