Programmatically invalidating cached pages radio borders dating
Performance tuning and optimization definitely have their place in minimizing SQL Server Licensing costs - by helping keep CPU utilization low.
But it's important to remember that the fastest and most efficient query possible is the one that you never execute against your SQL Server. I started working with it as a developer, switched to wearing a DBA hat for a while, and have spent the last 10 years working as a SQL Server Consultant.
The point is to establish these thresholds up front.
This way, if you’ve set a cache duration of a semi-volatile object for a maximum of 30 seconds, if you then somehow manage to ‘flub’ the code that would invalidate this object from the cache when it’s modified, you’re looking at only a total of 30 seconds for which this object could potentially cause problems – rather than something like 20 minutes (or until memory is scavenged) otherwise.
With such a stark difference in licensing costs, it would be foolish to not look for ways to offload things done on SQL Server over to your application servers whenever possible.
Instead, start by establishing maximum ‘thresholds’ for how long data in various parts of your application can be cached.
In this article, however, we’ll bypass looking at performance tuning and optimization, and look instead at the idea of caching – or the notion that the fastest, most scalable, and best utilization of SQL Server CPU is the query that you never run.
An effective way to put cache into perspective is to start with licensing costs.
That might sound trite, but it's at the heart of caching - which is key to helping organizations save significant money on SQL Server licensing costs while simultaneously enabling better application performance and increased scalability. Early on as a consultant, I spent a lot of time helping developers, DBAs, and organizations become more familiar with the new features and benefits of SQL Server 2005 and then SQL Server 2008.
I still do that with SQL Server 2012 and SQL Server 2014, but there’s no doubt that the number of features and improvements (especially for developers) have tapered off with recent releases, while conversations about newer versions of SQL Server today invariably seem to center on discussions about minimizing SQL Server Licensing costs.
Obviously, setting max cache durations is just a mitigating technique, but the process of starting by defining volatility levels for objects helps ensure that your focus is on areas of higher volatility to make sure they’re working correctly.