Today I will give you a quick tip on a white paper that goes through . It is written by André Guirard - Technical Solution Architect for Lotus Notes at IBM, who I have mentioned . And on this previous entry I actually mentioned this document as well but I think it should be stressed a bit more.
The abstract:
"It is intended for developers of Notes client applications, to help them maximize performance by identifying problem areas and offering solutions. It is assumed that you already know how to create Notes design elements and how to set options on forms, fields, views, columns, etc. There's material here for developers of all levels of expertise." |
I have read most of it myself and I urge developers (and administrators) to do the same. Here are many good tips for avoiding bad performance of different kinds and to find solutions for getting rid of existing ones.
And bookmark while you're at it, you'll learn quite a lot.
Table of contents:
1 Introduction.....................................................................................................................2
2 General principles............................................................................................................2
3 Database-level performance considerations....................................................................4
4 Formula performance.......................................................................................................5
4.1 @DbLookup and @DbColumn................................................................................6
5 Form design.....................................................................................................................9
5.1 Don't use Computed fields if Computed for Display works.....................................9
5.2 Hundreds of fields.....................................................................................................9
5.3 Excessive graphics..................................................................................................10
5.4 Stored forms............................................................................................................11
5.5 Automatically refresh fields....................................................................................11
5.6 Too many shared design elements..........................................................................11
6 Views............................................................................................................................12
6.1 @Now or @Today in views...................................................................................12
6.2 Unnecessary views..................................................................................................13
6.3 Private views...........................................................................................................14
6.4 Unnecessary re-sorts...............................................................................................14
6.5 Unnecessary columns..............................................................................................15
6.6 Overly complex formulas.......................................................................................15
6.7 Overuse of multiple categorization.........................................................................15
6.8 Overzealous indexing..............................................................................................16
6.9 Reader fields...........................................................................................................17
6.10 Private on first use................................................................................................17
7 Code..............................................................................................................................18
7.1 GetNthDocument....................................................................................................18
7.2 Too much action code on a form or view...............................................................18
7.3 Too many script libraries........................................................................................19
7.4 ComputeWithForm.................................................................................................19
7.5 Auto-update views..................................................................................................19
7.6 Failure to use efficient collection-based methods...................................................19
7.7 Repeating expensive operations..............................................................................19
7.8 Saving documents that have not changed...............................................................20
7.9 Ways of searching for documents...........................................................................20
7.10 Deleting unused documents from cache...............................................................21
7.11 More efficient loops, assignments, etc..................................................................21
7.12 Using the LC LSX................................................................................................22
8 Testing...........................................................................................................................22
9 Use Profile documents...................................................................................................22