Performance Hints on Using Microsoft Repository

The biggest factor that affects Microsoft® Repository performance is the number of round-trips the Repository engine makes to the underlying database system. To be able to minimize the number of round-trips, you must understand the Repository engine's data access strategy.

The Repository engine maintains a cache of Repository objects. When accessing an object by ID or via a relationship, the engine first looks in its cache. Similarly, the engine maintains a cache of relationship collections. When accessing a collection on a Repository object, the engine first looks in its cache.

Since round-trips to the database are expensive, the engine fetches and updates data in batches. For example, when you access a relationship collection, the engine fetches all the relationships in the collection. The engine caches updates that a transaction performs, and (unless the cache overflows) sends them to the database only when the transaction commits. There are many other cases, too numerous to mention here,  where the engine does batching.

Many of the engine's caching and batching strategies are universally beneficial and require no special thought when writing an application. However, sometimes the application's usage pattern can have a significant performance effect. Below are some hints on how to get the best performance from the engine. Since there is often a tradeoff of functional flexibility, none of the hints can be blindly applied without consideration of possible tradeoffs.

(c) 1988-1998 Microsoft Corporation. All Rights Reserved.