クエリで計算すれば以前のバージョンであっても使えるのだから使わないというのも良いのだけど、どこで使うかに大きな誤りがなければそれなりの成果があるわけで。要は非正規化。
集計フィールドを作る手順は難しいことはない。選ぶだけ。
式ビルダー / Expression Builder などで式を作るもよし。ただし、使用できる関数には制限がある。ユーザ定義関数は無理。Date関数なども使用できない。困る程度の制限はないはず。
で、集計フィールド / Calculated Fieldsの特徴など。
- 演算された値はフィールドに保存されている。
- 集計フィールドにインデックスを設定することはできない。
- レコードが挿入もしくは更新される時演算が行われる。
フィールドに結果が保存されるので、型を指定する必要がある。 |
インデックスを設定することはできない。 |
確かめてみればほどなく確認できるのだけど、集計フィールドを持つテーブルに対して更新もしくは追加を行った場合、集計フィールドの演算分遅くなる。また、演算に関連しないフィールドのみの更新など行った場合も同様に遅くなる。きっと、ファイルの最適化にかかる時間にも影響することだろう。
なので、集計フィールドが適さない場合とかを避けて使えばよいのである。
0 件のコメント:
コメントを投稿