Index-Tuning

Category: index-tuning

Code: Fixing a Filtered Index Which is Causing Data Modifications to Fail

Code: Fixing a Filtered Index Which is Causing Data Modifications to Fail

This question came up in a webcast recently: if a filtered index is causing data modifications to fail, does disabling the filtered index fix the problem?

Continue reading

Watch my live session: When Partitioning Indexes Hurts Performance  (and How to Fix It)

Watch my live session: When Partitioning Indexes Hurts Performance (and How to Fix It)

on January 25, 2018

I’m very that my session on table partitioning from the 2017 SQL PASS Summit is being featured as one of the “Best of Summit” videos.

I had a terrific time presenting this session, thanks to everyone in the audience: you were awesome!

You can watch the video here, and follow the link above to see even more great videos from the conference for free.

Continue reading

Where are key columns stored in a nonclustered index in SQL Server?

Where are key columns stored in a nonclustered index in SQL Server?

on November 29, 2017

Category: index-tuning

Last week’s Quizletter featured a quiz on keys vs included columns in SQL Server. I got a great question from a reader:

What do you consider a good reference and/or description of indexes for SQL Server? For example where would you have documentation that explains how the answer to #1 is right?

Continue reading

IO Patterns for Index Seeks: There May be a Lot of Read Ahead Reads

IO Patterns for Index Seeks: There May be a Lot of Read Ahead Reads

on October 4, 2017

I received a question recently asking about disk access patterns for index seeks in SQL Server. The question suggested that index seeks would have a random read pattern.

Is this necessarily the case?

Continue reading

When a Nonclustered Index and Statistics Make a Query Slower

When a Nonclustered Index and Statistics Make a Query Slower

on May 24, 2017

Nonclustered indexes are awesome in SQL Server: they can get you huge performance gains.

But we can’t always create the perfect index for every query. And sometimes when SQL Server finds an index that isn’t quite perfect and decides to use it, it might make your query slower instead of faster.

Continue reading

The Case of the Blocking Online Index Create- the Shared Lock that Would Not Quit

The Case of the Blocking Online Index Create- the Shared Lock that Would Not Quit

on March 28, 2017

I recently got an interesting question from a reader about running a CREATE INDEX statement with DROP_EXISTING

Continue reading