I dig into the left anti semi join, comparing NOT IN, NOT EXISTS, OUTER APPLY, EXCEPT, and OUTER JOIN methods.
I discuss several aspects of DBCC CHECKDB and offer suggestions to minimize the impact this crucial operation can have.
A lot of work went into improving estimates shown by an execution plan in Plan Explorer.
STATISTICS IO might not always tell the whole truth about data being read to process a query.
I follow up on an earlier post about trimming time from datetime, this time examining the performance characteristics of various methods without data access.
I show several reasons why you should stop using the sp_ prefix on stored procedures in SQL Server, including a (minor) performance hit.
See if there is anything to gain by checking first if a particular column should be updated.
Hit-highlighting is a feature that many people wish Full-Text Search would support natively. See possible solutions.
I talk about the default cursor options in SQL Server and why you may want to override them.
Your data type choices can sometimes have more impact than you think.
Tip : Build a quota system for SQL Server user defined tables
I share my slide deck and some photos from SQL Saturday #162 in that Cambridge.
There are lots of ways to remove time from a date, but most of them are extremely inefficient.
This post explores the performance characteristics of several solutions to the median problem.
Playing around today, I discovered that I was locked out of my local named instance using the Dedicated Administrator Connection. This post shows why and explains how you can avoid getting shut out of your own instance.
Sometimes it can make sense to check for potential errors and prevent them, instead of letting them happen.
Some interesting discussions always evolve around the topic of splitting strings; here I show splitting on the database side may not be necessary in the first place.
I describe a way to use ALTER SCHEMA … TRANSFER to refresh data with minimal disruption.
There were a lot of comments following my post last week about string splitting, and I have tried to address those here.
This week I came across a case where DRY should be thrown out the window. There are other cases too; this one involved bitwise operators.
In this tip, I show how to remove MDW – which involves more steps than you might expect.
I explore some common approaches people use to split strings, complete with performance analysis.
See some of the ways to produce running totals, including new functionality in SQL Server 2012.
Tip : Script to rename constraints and indexes to conform to a naming convention
Tip : Getting Started with SQL Server 2012 Express LocalDB
Tip : Maintaining SQL Server default trace historical events for analysis and reporting
I talk about how your SQL Server instance might not be firing on all cylinders if you get into this licensing scenario.
Tip : Storing E-mail addresses more efficiently – Part 2
This one time, I traveled over 18,000 miles and had 26 net time zone changes, all to give a couple of sessions.
Tip : Storing E-mail addresses more efficiently – Part 1
A long, long time ago, ORDER BY in a view meant something. People still think so. Read why…
Tip : Checking for potential constraint violations before entering SQL Server TRY and CATCH logic
By way of an example, see why most of what you hear about SQL Server is only true some of the time, at best.
Tip : Troubleshooting IntelliSense in SQL Server Management Studio
Talking about the common misconception that a while looper is faster than a cursor (and why it's still a cursor).
In this tip, I talk about the snippets feature in Management Studio, to encourage consistent coding conventions.
See why I prefer alias = expression
over the more standards-compliant expression AS alias
syntax.
In early 2012, I review some of my community contributions and travels from 2011.