Review Your Indexing

  • Comments posted to this topic are about the item Review Your Indexing

  • I'll suggest that DTA isn't for index-rookies. I'm still cleaning up the mess created over 2 years by people just taking DTA's word for which indexes need to be created.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • The DTA recommendations shouldn't be taken blindly. I think rookies can use it, but take one change at a time, test it, and see if it helps. Don't create lots of indexes at once.

  • Steve Jones - SSC Editor (11/26/2012)


    The DTA recommendations shouldn't be taken blindly. I think rookies can use it, but take one change at a time, test it, and see if it helps. Don't create lots of indexes at once.

    I agree Steve. Never take the "blanket approach" to creating indexes, which unfortunately the DTA tends to take.:-D

    "Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"

  • Steve Jones - SSC Editor (11/26/2012)


    The DTA recommendations shouldn't be taken blindly. I think rookies can use it, but take one change at a time, test it, and see if it helps. Don't create lots of indexes at once.

    BWAAA-HAAAA!!! If you know that, you're probably not a rookie. 😀

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • An interesting thought: When will SQL Server offer automated index maintenance? Creating indexes on the fly, dropping them on a 'not used recently' or 'not used frequently' base, would that ever become a task for SQL Server and not for the DBA?

    Years ago, optimizing query plans was done by hand and certain DBAs excel in this task. However, by today's standards one should have very good arguments to place even a hint on a query. I guess the first implementation of automatic indexing would be far from optimal. But the optimizer has come a long way from being hardly useful to being nearly unbeatable.

    Will index maintenance still be needed within ten years? Wil SQL 2025 require a DBA to create the appropriate indexes on its tables? Will it support 'indexing hints' that allow us to tell the optimizer which columns should at least be indexed?

  • I don't know when/if this will be available. It certainly would make some sense, with overrides from the DBA. There are indexes that are lightly used (in frequency), but very valuable. How do you determine what's not used enough?

    The same for fragmentation. It's fine for it to run continuously in the reorganize mode, but sometimes you might need a rebuild. That is a relatively expensive operation and you might not want that to occur without approval.

    Some of these indexing issues aren't easy to solve from the "how should it work" perspective. The code is easy, but the decisions are hard.

  • Nice that the DTA advisor mentioned a missing index, even learned a new keyword "includes" (any benificial scenario's for include?). A rewritten index made it even better.

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply