I talk about NULLs in SQL Server, the logical issues with avoiding them, and potential performance impacts.
Category: Bad Habits & Best Practices
I talk a bit about bit columns: names with negative context, allowing NULLs, and using cryptic BITWISE operators instead of readable, self-documenting expressions.
An index of over a decade's worth of posts and videos involving bad habits and best practices in SQL Server.
In this tip, I use specific examples to counter assumptions that data types are always case insensitive.
In this tip, I discuss one way to help avoid infinite loops in common while loop patterns.
In part 4, I show how to include ad hoc DML queries in the analysis.
In part 3, I tie it together and show how to use relational logic to further eliminate false positives.
In part 2, I show how to identify problematic NOLOCK patterns across multiple databases and multiple instances.
I start a new series on identifying and removing problematic NOLOCK hints from update and delete statements.
I explain why you should eliminate the data types text, ntext, and image from your environment.
I use a real-world example showing why you shouldn't use deprecated functionality like SQL Server Profiler.
I talk about one scenario where the system table
sys.sysprocesses almost led us down the wrong path.
There is a very common anti-pattern you should avoid, involving updating a row if it exists and inserting it if it doesn't. See how to avoid race conditions and deadlocks.
Discover some undocumented or unsupported behavior you might not even realize you're relying on.
Originally published in 2009, I updated this in 2019 with an example showing an effect on the plan cache.
Aaron Bertrand explains four conventions he always follows when writing T-SQL queries.
Get a first-hand look at some of the ways NOLOCK can produce incorrect data.
This tip was refreshed with status updates for some of the critical bugs discovered in MERGE over the years.
I discuss a couple of potential problems that can occur when you are inconsistent about case sensitivity.
A little advice on the use of MDF/LDF files for backups.