とりあえずネタ出し
パフォーマンスは実測値も載せないと信用ならないので、そのうちやる
DateTable
-
使うならキャッシュを活かす
データ件数が数件ならどうでも良いけど、数万超えてくるとキャッシュは絶対に無視出来ない。
DateTableに対するデータ参照は、初回はおっそいが次回以降はキャッシュが作られるため非常に速い。
が、AddなどでDateTableが更新されるとキャッシュが効かなくなる。
そのため、Add→Selectを繰り返したりすると馬鹿みたいに高コストになる。
この場合、DefaulteViweに参照で使用するキー情報を設定するとかなり改善する。
(Addのコストは微増するが、参照が高速化する) -
そもそも使わない方法を検討する
ぶっちゃけ遅いしメモリ消費も大きいので、
どうしても使わないといけない場合以外、
別のコレクション型を使いたい。
listやDictionaryとか。 -
フィルターの条件は複雑にしない
Selectのフィルターは、
条件をSQLぽっく書けて使いやすい。
ただし、条件をANDなどで複数繋げるより、
Selectの結果を、再度Selectする方が速い。