Erik Darling Joins Brent Ozar Unlimited
Kendra here– we’re really excited to announce that we’ve hired Erik Darling on to join our team as a consultant. Erik’s first day is today. To introduce Erik, we’re sharing some of his answers to our...
View ArticleOnline Index Creation and Cruel Defaults
Have you ever been watching queries crawl, feeling sort of helpless because you can’t change them? And even if you could, it’s hitting a new custom column in an ISV table that no one bothered to tell...
View ArticleCTEs, Inline Views, and What They Do
By now, you have probably heard of CTEs And you may have even heard them referred to as Inline Views. Really, an Inline View can be any type of derived table. It’s very easy to illustrate when one may...
View ArticleSELECT INTO and non-nullable columns
SELECT…INTO is one of my favorite SQL Server features. It’s great for creating table skeletons with false WHERE clauses (1=2), moving a real table to a staged/temp location for testing, etc. In SQL...
View ArticleAnd Party and Alt Shift
This is a cool SSMS trick I picked up a while back Though not nearly as far back as I wish I had. It’s so cool I made a .gif of it in action. When you’re done putting your socks back on, I’ll tell you...
View ArticleForcing Join Order Without Hints
Brent buys lunch for the ladies The purpose of this post is to show a bit of syntax that often gets overlooked in favor of using query hints to force joins to occur in a particular order. We’ll start...
View ArticleIndexing for Windowing Functions
Hooray Windowing Functions They do stuff that used to be hard to do, or took weird self-joins or correlated sub-queries with triangular joins to accomplish. That’s when there’s a standalone inequality...
View ArticleIndexing for GROUP BY
it’s not glamorous And on your list of things that aren’t going fast enough, it’s probably pretty low. But you can get some pretty dramatic gains from indexes that cover columns you’re performing...
View ArticleThe sp_rename follies
Before we get started… I know. I know. BOL. It’s documented. They even show you how to rename a table. Thanks, sp_rename! But sometimes… You just forget. And as with most simple mistakes, fixing them...
View ArticleLogical Query Processing
you can’t do that on management studio Recently, while working with a client, I did something in a query that they were mystified by. I didn’t think much of it, but I thought it might be useful to you,...
View ArticleFinding Tables with Nonclustered Primary Keys and no Clustered Index
i’ve seen this happen Especially if you’ve just inherited a database, or started using a vendor application. This can also be the result of inexperienced developers having free reign over index design....
View ArticleLogical Query Processing Follow-up
i like questions! Because I don’t always like talking to myself, and robots are sometimes murderous and insane. So when this one came up in the comments of my previous post, I thought it would make a...
View ArticleGetting the last good DBCC CHECKDB date
whether it’s a new job or a new (old) server If you’re reading this, you’ve at some point in your career stared at a server, for the first time, with great trepidation. The smarter you are, the greater...
View ArticleClustered Index key columns in Nonclustered Indexes
clustered indexes are fundamental And I’m not just saying that because Kendra is my spiritual adviser! They are not ~a copy~ of the table, they are the table, ordered by the column(s) you choose as the...
View ArticlePerformance Benefits of Unique Indexes
sql server loves unique indexes Why? Because it’s lazy. Just like you. If you had to spend all day flipping pages around, you’d probably be even lazier. Thank Codd someone figured out how to make a...
View ArticleIs leading an index with a BIT column always bad?
“Throughout history, slow queries are the normal condition of man. Indexes which permit this norm to be exceeded — here and there, now and then — are the work of an extremely small minority, frequently...
View ArticleWhy You Should Apply (Take It From The New Guy)
Personal Benchmark I’ve always thought that I’d know I have the right job when, if I were to win a dynastic sum of money from the lottery, or inherit it from a long-lost relative, I would still show up...
View ArticleWindow Functions and Cruel Defaults
My First Post Here… Well, my first technical post, was about how the default index creation method is OFFLINE. If you want that sweet, sweet Enterpri$e Edition ONLINE goodness, you need to specify it....
View ArticleSQL Server Features I’d Like To See, Oracle Edition
BUT FRANCE HAS A PONY I really like SQL Server. Most of the time. Okay, so most of the time I like SQL Server most of the time. Don’t get me wrong, if I had to go back through the career-time continuum...
View ArticleSQL Server Features I’d Like To See, PostgreSQL Edition
BUT FRANCE HAS A FREE PONY That’s right. PostgreSQL is basically free. The MIT license is like the Church of England of licenses. They do not care what you do. But I care what they do! If you read the...
View Article