Performance Design Tips : View設計での禁じ手? -3-
View設計での禁じ手ですが、以前「View設計での禁じ手? -1-」 にViewの列式に@Today/@Nowなどの時間関数を利用するとPerformanceが悪化することを紹介しました。
私も時間関数を使ったViewの扱いがDomino 6以降で変更されていることを知らなかったのですが、ここ に記述されているように、Domino 6以降では時間関数を列に利用したViewの更新はUpdate Taskは無視するように変更されています。
つまり、ユーザーが明示的にViewを更新するか、Agentなどで定期的に更新しない限り、UpdateによるViewの更新は行われなくなってしまいます。
しかし、参照先でも紹介されていますが、ユーザーが更新ボタンを押すと、Viewの列は時間が変わっているため全ての文書に関して更新が行われ、Viewの再構築を行っているのと同じことになります。
そういう意味からもやはり、時間関数を使ったViewは作るべきではないでしょう。
また、Sort可能な列の設定に関する注意点も述べられていますが、これは少し乱暴な言い方かも知れません。
Sortを設定しなければ別のViewを用意されるのではないでしょうか?
そうすると、結局そのViewの更新Costも必要になるわけで、Viewの列のSortと同様になってしまうのです。
無闇やたらとSort可能な列を増やすことはよくないですが、ユーザーの使い勝手の向上のためにSort可能な列を設けてあげることも必要です。
また、Performance Tipsについては、以下にも紹介されていますので、参照ください。
Application Performance Tuning, Part 1
Application Performance Tuning, Part 2