Item Counts, Search Folders and Restrictions

Not a new subject but have been doing some research again and found a couple of useful links which I thought I’d share..

Microsoft Exchange and Search Folders @ (Dave Goldman’s blog)

“A search folder is like a regular MAPI folder, except that instead of containing real messages, it contains only links to messages in other folders which meet some specified restriction. A search folder is created by calling IMAPIFolder::CreateFolder with a folder type of FOLDER_SEARCH, followed by a call to IMAPIContainer::SetSearchCriteria to specify the search restriction and search domain. The search domain may be an arbitrary set of folders in the same store, and may be recursive, so that messages in any sub-folder of the specified domain folders are also searched.

A “restriction” is formed by calling IMAPITable::Restrict on a MAPI Table. The resulting table shows only the items which match the restriction specified in the Restrict call. A restricted contents table can show only messages from a single folder. This usage sometimes causes confusion with the MAPI-defined structure which describes the filter criteria for a search folder, which we also call a restriction.”

Understanding the Performance Impact of High Item Counts and Restricted Views @

“Understand that most performance issues are not the result of large mailbox size (defined as a mailbox that is 2 GB or larger), but instead the number of items in the folder or folders that are being accessed on the server. Having many items in a folder adversely affects performance because operations in those folders will take longer. In particular, performance is largely influenced by the number of items in the critical path folders: Calendar, Contacts, Inbox, and Sent Items folder.”

Outlook users experience poor performance when they work with a folder that contains many items on a server that is running Exchange Server @

“This issue occurs when an Outlook user works with items in a folder that contains many items. Outlook must perform several operations against the Exchange server to retrieve the contents of a folder. Therefore, when there are many items in a folder, additional processing is required to respond to the Outlook requests.”