Most of the optimizations you perform for data access in a single-user environment create equal, if not greater, improvements in multiuser environments. When you optimize a single-user application, you’re concerned only with that application’s performance on a local machine. When you optimize a multiuser application, reductions in network traffic help not only the individual user, but all users of the application.
For example, consider the case where your application has to search for a record in a table that has no indexes. In this scenario, Microsoft Jet must perform a sequential scan of the entire table to find a match. This means that the entire table must be sent from the server to the workstation’s copy of the engine. If the table is large, this can be a quite lengthy operation. The problem is further compounded because the user running the search is waiting a long time for a response, and the high volume of network traffic is in turn slowing down other users. This situation can be alleviated by adding indexes to the table for the fields on which your application searches. However, keep in mind that having indexes may cause increased network traffic and may reduce concurrency and efficient performance.
See Also For more information about when to use indexes, see “Other Optimization Tips and Techniques” in Chapter 13, “Optimizing Performance.”
In another example, assume that your application uses a set of tables containing lookup data that represents postal codes or lists of part numbers — data that doesn’t change often. By moving this type of data to the local workstation, you can eliminate network access that may be made hundreds of times during the application’s typical execution.