Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have upgraded our SQL Server instance with buckets of RAM, so it can now much more effectively cache . The issue is that it takes time (days) to populate the cache. As far as I understand this is something internally managed by the engine, based on user queries. Is there value in pre-empting this process by running a series of select * statements on big / frequently used tables to cache all this data on service start up? Any particularly clever way to do it?

share|improve this question
up vote 1 down vote accepted

There isn't normally any added value in doing this: you may cache data that isn't needed that requires eviction when your real load occurs.

How much time do you think this will save too? Have you done some measurements to see if running a SELECT * on some table improves response after server start up?

share|improve this answer
Yeah - the possibility of the cached date requiring eviction makes sense. To answer your question, no - we haven't done any measurements yet. – Matthew Evans May 9 '12 at 7:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.