sql performance issues

I have a vb.net based website using sql 2008.  I run a particular query it runs in few seconds, later I run same query it takes 1-2 minutes or more.  2nd time around there are no others on the system or any other differences than first time around.  I noticed SQL takes memory and sits on it.  every so often I will see the numbers go down.  I am looking at the sql process committed memory column (see attachment).  Is it possible to release this memory back after running queries.  If not released will it affect performance.  I have currently 12gb memory on the server, will having additional 32 or 64gb help?  Database is about 150GB , data is loaded weekly or monthly and is only accessed for reporting not for updating by users.  for such a database size is there any rule how much memory I should have?  I also have additional large databases on the server, including on same drive.
Who is Participating?
Carl TawnConnect With a Mentor Systems and Integration DeveloperCommented:
That could potentially be part of your issue. Start by capping the memory for SQL server to 2GB less that the system RAM. So if you have 12GB cap SQL Server to 10GB.

Also take a look at the Page Life Expectancy performance counter. That will give you an earlier indicator of whether or not SQL is experiencing any memory pressure.

I'd also take a look at the plan for the query to see if there is anything amiss there, such as performing a Scan on a large table.
Carl TawnSystems and Integration DeveloperCommented:
SQL Server will generally take as much memory as it is allowed, primarily to cache data, procedures, etc, and will only release memory when it needs to.

How much of the system memory have you got allocated for SQL Server to use?
CPOINT2000Author Commented:
I did not specify any system memory limits.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.