I know the answer to this question for the most part is “It Depends”, however I wanted to see if anyone had some pointers.
We execute queries each request in ASP.NET MVC. Each request we need to get user rights information, and Various data for the Views that we are displaying. How many is too much, I know I should be conscious to the number of queries i am executing. I would assume if they are small queries and optimized out, half-a-dozen should be okay? Am I right?
What do you think?
Simplify your site design until it’s
as simple as possible, and still
meeting your client’s requirements.
Cache information that can be cached.
Pre-load information into the cache
outside the request, where you can.
Ask only for the information that you
need in that request.
If you need to make a lot of independant queries for a single request, parallelise the loading as much as possible.
What you’re left with is the ‘optimal’ amount for that site.
If that’s too slow, you need to review the above again.
User rights information may be able to be cached, as may other common information you display everywhere.
You can probably get away with caching more than the requirements necessitate. For instance – you can probably cache ‘live’ information such as product stock levels, and the user’s shopping cart. Use SQL Change Notifications to allow you to expire and repopulate the cache in the background.