2009年11月30日月曜日

ビューの選択式で日付関数を使う


What's New のようなビューでは @Today や @Now といった日付関数を使うことがあります。

その場合はビューの利用頻度や文書数を考慮することが必要です。

特に使用頻度が高いDBで日付関数を使ったビューをトップ画面で必ず表示するといった場合、誰かがトップ画面を開くたびにサーバー側で行われるビューの再構築によりアクセス遅延が発生するなどパフォーマンスに大きく影響することがあります。

下手すると多くのユーザーへ一斉にデータベースリンクを付けたメールを送付した直後に「DBが開かない」といった電話がジャンジャン鳴り、こうなると不具合調査どころの騒ぎではありません...

ただしクレームが多いからといって便利なビューの使用をやめてしまうのは避けるべきです。

日付関数に変わる方法として @ToTime("Today") がよく例として挙げられます。

こうするとNotesを騙すことができるわけです。

ただこのように変更した場合、新規文書はビュー索引にきちんと追加されるのですが、期限を過ぎた文書がビュー索引から消えないといった不具合が発生することがあります。
この不具合を解消するには、ドミノディレクトリのプログラム文書を利用してビューを再構築するコマンド(updall -r -t )を発行するといった対応が必要になります。

下記のリンクには日付ビューを使う場合の考慮点などが分かりやすく掲載されています。

(参考)Lotus Notes の時刻/日付ビューのオプション
(参考)Notes ビュー索引の更新に関する基本
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731830

0 件のコメント:

コメントを投稿