• First, you've got one index that's completely a waste (there may be more). Index 11 eliminates the need for index 7 because they both have the same leading edge. So if you pass a query that only uses that first column from 11, it can use that index.

    Second, you should check every single one of these columns to see if the selectivity on them is high enough to rate an index. If it's not better than 90%, an index probably won't get used.

    Third, that many indexes across 1.2 million rows is probably going to take a while to create. I'd suggest reevaluating your queries to see if they're using the indexes you have and if not, what indexes you actually need.

    Yes, covering indexes are better in most instances.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning