Announcing the Winners of the Biggest Database Regret Contest

Company News
5 Comments

I recently asked you to leave a comment with your biggest database regret, and the comments were great! Here were my favorites:

Runners-Up

These 5 folks each won a Fundamentals Bundle lifetime access valued at $695:

Thirster42: writing code to help a team dynamically create sequences. they didn’t tell me they were going to generate millions of them so now the db is super hard to open in object explorer, run sql compare, or use auto complete tools.

Thirster42’s was literally the very first comment, and I laughed out loud when it came in. It’s such a good example of a regret. In theory, sure, you can dynamically create just about anything in SQL Server, but the more of them you create, the worse shape you’ll be in. It reminds me of Swart’s 10 Percent Rule.


Stefano: One of my first jobs as a consultant: critical production SQL Server with performance issues (slow queries, blocking), high workload (thousands of queries/s). To study the problem I decided to run a server-side trace. The idea was to capture a lot of types of events and not lose any records… Result: total block. No way to stop the task. Flurry of calls from customers… Not knowing what to do, I had to restart the server remotely..

I’ve been there too. I do wish there were more “are you sure you wanna do this” guardrails built into T-SQL commands. Those kinds of guardrails are common in GUIs, and in operating system text commands, but completely unseen in query language commands. (“Hey, are you sure you wanna run a delete without a where clause?”)


Alex: No pure SQL compatibility between different products. MSSQL, Oracle, PostgreSQL etc. TOP(100), LIMIT(100), FIRST(100).

At first when I read Alex’s answer, I thought to myself, no, Alex, this contest was supposed to be regrets about things YOU had done, but when I went back and reread the post, I realized Alex’s answer was totally legit. Better than that, Alex’s answer is one of my OWN top regrets about the database industry too, come to think about it! The languages are juuuuust close enough to be annoying, and just close enough that execs think that a migration will be easy. It will not.


SmartWombat: My first ever FORTRAN computing assignment at college (’67) just to input and store name, age, sex. Report on the invalid data. Next day I went back to the lecturer and said there’s nothing in the data to determine if they are an invalid or not. Cue red face when he explained it to mean incorrect data, as in not valid. Not data about invalids. Lesson learned on requirements gathering at a very early stage !

I laughed out loud at this one too because it took me a couple of reads to understand what “invalid” meant in this context.


Thomas Franz: On a previous job my coworker decided to not allow NULLs in from/to columns and to use a default value instead. Sadly he decided it to be 1899-12-31 for both, from and to, so you always had to write something as GETDATE() BETWEEN t.valid_from AND IIF(t.valid_to = ‘18991231’, ‘20991231’, t.valid_to)

Uuuuuuugh. Yeah, that would suck.


Grand Prize Winner

Chris Wilson: My biggest regret is not starting a online presence. For over a decade I’ve followed the careers of many in the SQL community and thought I could do that and had grand plans to do so but never pulled the trigger. Like planting a tree the best time to start a SQL blog is 20 years ago. The second best time is today. I don’t know that it would have changed my career in any meaningful way but I do know it would have solidified my own knowledge in a very tangible way. “The best way to learn is to teach” as the old saying goes.

I felt guilty as soon as I read Chris’s regret because I knew I had to give him the prize, which happens to be a Fundamentals + Mastering Bundle lifetime access valued at $2,495.

I don’t care what your online presence is: a Github repo, a YouTube channel, a blog, a podcast, whatever – but pick one thing that works for you, and start doing it.

Get ‘er done.

Previous Post
[Video] Office Hours: Open Q&A on Microsoft Databases
Next Post
Who’s Hiring in the Microsoft Data Platform Community? October 2024 Edition

5 Comments. Leave new

  • Thank you, Brent!

    Reply
  • > (“Hey, are you sure you wanna run a delete without a where clause?”)

    Didn’t MySQL have some sort of I-Am-A-Dummy flag that was sorta like this?

    Fun post, thank you!

    Reply
  • Henrik Staun Poulsen
    October 2, 2024 5:59 pm

    > (“Hey, are you sure you wanna run a delete without a where clause?”)

    One good reason to install Redgate SQL Prompt. It will do that.
    It may also warn you about certain DROP xyz statements, but NOT all.
    “a friend of mine” learnt that the hard way on a production system…

    Reply
  • This was a great read! Thanks Brent and thank you all for your stories! Agreed with Chris, I waited too long but super happy I did it.

    Reply
  • Adam Jacobson
    October 7, 2024 7:48 pm

    In regard to the SQl syntax regret, I so understand.
    For many years, a large part of my income was supporting a mid-level accounting package.
    The software company allowed the customer to choose the backend database. That could be SQL Server, DB2, oracle or even Informix back in the day. Oh, and sometimes AS400 which was kinda/sorta like Db@.
    All SQL is standard. Except when it’s not.
    Same thing could be said for Unix.

    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.