Microsoft Access 掲示板

データ型「集計」について

4 コメント
views
4 フォロー

データ型「集計」について教えて下さい。
こちらですが、フィールドが式だけでなく値も保存しているのでしょうか?
クエリの演算フィールドがおまけで引っ付くようになっただけなのか、
参照元のフィールドの更新にトリガーされて式を実行した後その結果である値を保存しているのか
どちらなのでしょうか。
集計型のフィールドを SUM すると単純に足し算を実行するのか、レコード毎に演算しながら足し算を実行するのか
どちらなのでしょうか。

よろしくお願い致します。

l202111
作成: 2021/11/23 (火) 04:03:06
通報 ...
1
l202111 2021/11/23 (火) 04:09:13 f7b05@4e5da

すみません、自己レスです。
MS公式その他を読んでも分からなかったので質問させていただきましたが、
検索を続けると「保存する」が多数説で判明しました。
お騒がせしました。

2

「保存する」説のページのリンクをいくつか提示してもらえるとありがたいです。

3
名前なし 2021/11/23 (火) 18:03:49 91f1b@2cc99

おお hatena 様、いらしてくれてありがとうございます。

どうもはっきりしないのですが、

https://hamachan.info/win7/access/data.html
>Access2010では、テーブルのデータ型に[集計]が追加され、テーブルに集計フィールドを作成できるようになりました。
>計算の結果は集計列に格納されます。

https://358dokari.com/access-datetype-kaisetu1#⑭_集計
>14 集計
>他の列の値を参照して式を作成し、その計算結果をテーブルに保存することができます。

それとこの英語サイトが table と query の場合でベンチマークをやって、
「結果の値を保存している」と判断しているようです。

https://codekabinett.com/rdumps.php?Lang=2&targetDoc=access-table-calculated-field-compute-quarter-date

hatena 様はどうお考えでしょうか。

4
hatena 2021/11/23 (火) 23:53:32 修正 >> 3

MSの公式ドキュメントだと、下記にそれらしき記述がありますね。

データ型とフィールド プロパティの概要 - 集計
用途    計算の結果を格納するために使用します。
中略
サポートされるフィールド プロパティ

この計算の結果は集計列に格納されます。 この列が保存されている場合、保存されている列のみをこの式で利用できます。

あと、Now() とか結果が固定されていない関数などは使えないことからも更新時に結果を保存していて、呼び出し時に再計算はしていないと推測できます。

最後のリンク先は知らなかったので非常に参考になりました。
ただ、リンク先でも言及されてますが、インデックスを設定できないので、メリットは大きく減少していると思います。
パフォーマンスアップに関してもリンク先では200万行で実験していますが、私自身はこのような大きなデータを扱うことはないので、たぶん使用することはないだろうと思います。