From time to time, I encounter a system design that always issues an UPDATE against the database after a user has finished working with a record – without checking to see if any of the data was in fact altered. The prevailing wisdom seems to be that “the database will sort it out”. This raises an interesting question: how smart is SQL ...

Yesterday was a rebroadcast of the index internals seminar I presented last February, and I had forgotten how long it was. I was in a chat room the whole time, and the questions just kept coming, fast and (not so) furious! Thanks to all the participants for making it a really exciting 5 hours for me. I really appreciated all your enthusiasm.
My ...

I thought I had said almost all that could be said about nonclustered index keys in a post made almost exactly two years ago, on March 16, 2008. But there's more.
To get all the benefit from today's post, you'll really have to read that one, but I'll synthesize the crucial details here.
Every index needs to be unique, in some way or ...

I am really jazzed! The seminar was over 3.5 hours in length, and we had 3 15-20 minute breaks, during which questions just kept coming in the chat room. I barely got out to refill my coffee! But there were some great questions and a really enthusiastic audience, so I want to thank everyone who participated. I stuck around afterwards for more ...

I recently received a question about the storage of nonclustered index keys. I am assuming you are aware of the fact that if your table has a clustered index, SQL Server uses the clustered index key (all of its columns, if it is a composite index) as a 'bookmark' in your nonclustered indexes, to allow your nonclustered indexes to uniquely ...

This is not a post about Jim Gray, much as I wish I had some news to share.
It's about one of the reasons you should be really careful about using undocumented trace flags. I always try to warn people, whether I'm writing or speaking, about the dangers inherent when using any undocumented feature. Undocumented means unsupported! Microsoft retains ...