Use Efficient Application Design

The role application design plays in SQL Server performance cannot be overstated. Rather than picturing the server in the dominant role, it's more accurate to picture the client as a controlling entity and the server as a puppet of the client. SQL Server is totally under the command of the client regarding the type of query, when the query will be submitted, and how the results will be processed. This in turn has a major effect on the type and duration of locks, amount of I/O and CPU load on the server, and performance.

For this reason, it's important to make the correct decisions during the application design phase. Even if you're using a turnkey application where changes to the client application seem impossible, this doesn't change the fundamental factors that affect performance—namely, that the client plays a dominant role and that many performance problems cannot be resolved without making client changes.

With a well-designed application, SQL Server is capable of supporting thousands of concurrent users. With a poorly-designed application, even the most powerful server platform can bog down with just a few users.

The following suggestions for client application design are known to improve SQL Server performance: