Is Your Database Databasic?

Pumpkin Spice

When I’m looking at someone’s server, it’s easy to tell the kind of care it’s been under.

We’ve written a lot about servers that have gotten the wrong kind of care. You know, no backups, no checkdb, but someone managed to turn auto create stats off for every database, and enable affinity masking. That’s not what I’m here to talk about today.

No, no. We’re here to talk about those servers that lack the self-awareness to realize they’re getting the bare minimum out of life.

Juicy

The first sign is always the hardware

You’ll see two or four CPUs, and a pittance of RAM.

Someone may have set MAXDOP, Cost Threshold for Parallelism, and Max Server Memory, but those settings will make about as much difference as putting your Sauvignon Blanc in Riedel stemware.

The second sign is always the software

Q: How do you spell apathy?

A: RTM

Uptime is great. A year of uptime is impressive.

It’s impressive in the same way that Elon Musk met Grimes; so many people had to not do their jobs for that to happen, one may find themselves literally-can’t-even-ing.

The third sign is always the indexes

Sure, you have them. They’re there. Clustered, nonclustered. Some included columns. Some more included columns.

But most of them have DTA in the name, and then some incomprehensible list of Ks and numbers. Some much longer than others.

This is the equivalent of letting Jenny McCarthy pick your pediatrician. Sure, she’ll pick a doctor, but now you’re partially responsible for the next plague.

The fourth sign is always the code

You don’t even have to scroll down past the comments usually.

Snake Oil

But when you do, you’ll be greeted by a DISTINCT, and a dozen LEFT JOINs, finally culminating in WHERE final_left_join.id IS NULL. While the code is old, it certainly doesn’t predate NOT EXISTS.

This is as morally reprehensible as juice cleansing.

Ugg

It doesn’t take much to get your database out of basic mode. Our First Responder Kit is a great place to start.

Thanks for reading!

Previous Post
First Responder Kit Release: Just When You Think There’s Nothing New Left To Do
Next Post
Stupid T-SQL Tricks

13 Comments. Leave new

  • For those of us that are the butt of the joke, help us out. Why are LEFT JOINS bad? Does NOT EXISTS always out perform LEFT JOIN IS NOT NULL?

    Reply
  • John DeHope
    June 6, 2018 8:19 am

    This post is 99% jibberish, 1% technical content. It doesn’t belong on Brent Ozar’s website. If you want to help people straighten their databases out, then by all means pull up a chair. I’ve got two sql servers, two dozen application databases on each, I’m the primary DBA, and I’m a developer not a DBA by trade. So I need all the help I can get. But this post gives me nothing but the feeling someone is snickering at me, and I have no idea if it’s because my fly is unzipped or I have spinach in my teeth or I’ve offended the author because I can’t quite recall how to write a common table expression from memory. You can do better.

    Reply
    • Erik Darling
      June 6, 2018 8:25 am

      Hi John,

      I’m sorry that you missed the humor intended here. Sounds like you’re having a tough day, buddy.

      Erik

      p.s. It’s actually because you wet your pants.

      Reply
      • John DeHope
        June 6, 2018 2:35 pm

        I think the humor came through alright. And at least now I know what Grimes is. These millennials have dug up the bones of Enya and think it’s “totes amaze”. I’m bugged by the lack of content in the post, not the humor.

        Reply
    • John – totally understand, and we may not be the site for you. This is indeed exactly the kind of post that we do around here – if you hover over Blog at the top of the site, you’ll find a whole category of humor. Heck, the post I published myself today is also 99% jibberish, 1% technical content.

      If you’re looking for something that’s 100% technical content, we’re not a great fit. Books Online is probably a better fit. I’ve been really impressed by what they’re putting out lately – adding a lot of very technical content.

      We can’t do better, unfortunately. This is as good as it gets from us. We’re not for everybody, and that’s okay. Best of luck on your journey!

      Reply
      • Michael Aird
        June 6, 2018 1:02 pm

        Brent,

        I love humorous posts as much as anyone and I don’t need 100% technical content to enjoy an article but…it seems like about a year ago many of the posts here took a seriously sarcastic turn. And it’s a turn for the worse!

        Poking fun or denigrating people for state of their servers doesn’t help anyone and just serves to make those poor folks who inherited a sloppy server and haven’t been given the resources to improve it feel bad about themselves.

        How about taking a stand to maintain the site with your name on it as a place for positivity and good instead of sarcasm and trolling your readers?

        Reply
        • Erik Darling
          June 6, 2018 1:19 pm

          Michael — I’m not poking fun at or denigrating people, I’m poking fun at servers.

          I want people asking these questions about, and looking at their servers in ways that may not be obvious to them.

          If someone inherited a server in bad shape, what is there for them to feel bad about? I have lit-er-all-y hundreds of technical posts on this site, on top of answers on Stack Exchange, on top of presentations, on top of weekly Office Hours webcasts, to help people totally for free with their problems.

          What makes that enjoyable for me is being able to joke about the bad stuff I see on servers and help people fix that bad stuff.

          I don’t feel any negativity towards people when I write things. If something I say about a server makes you feel bad, start asking yourself why that is.

          Thanks,
          Erik

          Reply
      • John DeHope
        June 6, 2018 2:43 pm

        No, you *are* the site for me. Irreverent but actionable sql server guidance. I live in sql server! Your site is totally for me. At least I self identify that way. It me! ( Sorry, not sorry, but Eric is inspiring me to quote pop culture nonsense now. Argh! See I can’t stop doing it even within comment paragraphs. ( Heh. Heh heh. He said “doing it”. ) ) Humor is okay. Less than 100% technical content is okay. But 99% gibberish is too much.

        Reply
  • James Smith
    June 7, 2018 7:29 am

    Great post. Something I can show my boss to say we need to fix this stuff. 🙂

    Reply
  • “The fourth sign is always the code” — that’s what I and other non-SQL devs usually think when we see some of your T-SQL code for sure :-))

    Btw, you don’t have *any* coding conventions on FRK and the code is. . . well, you decide for yourself.

    Reply
    • Erik Darling
      June 9, 2018 6:44 am

      The nice thing about open source projects is that you have the power to open issues for the stuff you feel strongly about. If there’s something you feel is lacking, please let us know.

      Thanks!

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Menu
{"cart_token":"","hash":"","cart_data":""}