• There should be, although how much might be debatable. Ultimately - I think the "sweet spot" is the version you didn't include:

    CREATE NONCLUSTERED INDEX IX_OrderDetailDateProdSold ON dbo.OrderDetail

    ( OrderDate ASC, ProductID ASC) INCLUDE (QtySold);

    The short version as I understand it to make the "ideal" covering would be:

    - columns appearing in the WHERE, FROM, GROUP BY and ORDER BY should appear in the "main part" of the index.

    - columns not otherwise included that appear in the SELECT or HAVING go in the UNCLUDE clause.

    Technically - since the "main part" is what the B-tree is based on - by keeping the main part as skinny as you can, you get better perf, while avoiding the bookmark lookup with the INCLUDE stuff.

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?