I had a question regarding page life expectancy in SQL Server 2005. What causes page life expectancy to be very low? If you have low page life expectancy, how is it resolved and avoided?
Page Life Expectancy can tell you whether your SQL Server has enough memory for its bufferpool to function properly. Extremely low Page Life Expectancy values can be an indication of:
- Too little memory on the system
- Too little memory configured for SQL Server’s use
- Poorly written application code
Brian Moran wrote an article for SQL Server magazine on this back in 2004 entitled
Still, you can throw memory at a server all day long (memory’s cheap, right?) but if your application code is behaving badly it might not help. While you might see a temporary improvement, you’ll likely start running into other issues as the application scales. By addressing application-specific problems like stored procedures that are recompiled due to:
- Underlying schema changes
- Statistics changes
- Including SET options in the procedure definition
- Temporary table changes
- Use of the RECOMPILE query hint or OPTION (RECOMPILE)
- Including data definition language (DDL)
Or by addressing queries that read an entire table into the bufferpool to modify a small number of rows, you can save lots of arguments with systems administrators and managers about adding memory, and improve your application’s performance at the same time. Read Microsoft’s technical document