May 18, 2016 by Kenneth Fisher
Starting with Randolph’s definition of a best practice (he got it from Wikipedia and it’s more than good enough)
A best practice is a method or technique that has been generally accepted as superior to any alternatives because it produces results that are superior to those achieved by other means or because it has become a standard way of doing things, e.g., a standard way of complying with legal or ethical requirements.
Best practices are great. They give us a consistent starting point when setting things up. However not only are everyone’s requirements are different but they are ever changing as well. We have to keep in mind that a best practice is what works best most of the time and if it isn’t working in your situation you shouldn’t feel bad about changing it. Not only that, but best practices change over time. They have to.
If you go back a few years (~10) you’ll see best practices saying that your Page Life Expectancy should be 300 (5 minutes). Can you imagine that now? A quick look at some of the servers I work on and not one was under 150k (41 hours). Technology changed. Servers now have a great deal more memory than they used to. And in 10 more years the systems will have again shown a dramatic improvement. How about Max Degree of Parallelism. The best practice not that long ago was 0. Let your queries go as parallel as possible. Recently that’s changed. Now you might see 4 or 8 (as a starting point). This is because 10 years ago if you had 8 CPUs that was one heck of a system. Today servers with 64 CPUs isn’t that unusual.
Times change, knowledge changes so best practices have to change. Don’t rest on your knowledge or the knowledge of others. Make sure you understand not only what the best practice is but why it’s the best practice. And then question it. Should it still be the best practice? Has technology changed? Have you thought of something new? And if you believe a best practice has or should change then test, test and more test. Ask someone else to test some more. Pass it around. See what others think. Who knows. In 6 months we may all be using your new best practice!