As a DBA, my greatest asset is my credibility. If my user community and managers don’t trust me, I’ve got nothing. So I try to be really vigilent when giving advice. When I say something, it usually falls into one of four categories:
And I’m usually really good about telling people which bucket my thinking falls into, and I usually give myself some wiggle room.
When I presented at SQL Saturday #171 in Pittsburgh, I got it completely wrong. I told people that you only needed to set MAXDOP in fringe cases and that you probably weren’t a fringe case. That’s when Adam Machanic questioned my blog post. If I’ve learned anything in the past couple of years, it’s that people who write books on a topic usually know their stuff. And this is certainly no exception. He has a blog post that documents this better than I can articulate.
What I really believe is that when someone tells you that you should always set MAXDOP=1, they’re probably wrong. And as Adam demonstrated, you need to benchmark this setting to find the right value for your environments.
I hate being wrong. But you know what I hate even more? I hate being wrong and having people believe me. That puts my credibility at stake. And without my credibility, I have nothing.
What’s more is that I actually appreciate someone checking me on this kind of stuff. I’d much rather admit that I was mistaken than to have someone point out my bad advice. Remember when I say that I want you to assume I’m an idiot until proven otherwise. At least I got that one right.