• Hi Mike,

    SQL Server uses these stats to determine the best strategy for executing a query.  If the stats are out of date, SQL Server will use these stats even though the data may have changed significantly since the stats were last updated.  The choice SQL Server makes in the Execution Plan may not be the best choice if it's relying on old statistics.

    You may still see a table scan on a table with indexes and updated statistics if it is a relatively small table and SQL Server determines it is more efficent to do a full table scan instead of an index lookup.

    I would update all your stats and see if you execution plan changes.

    BTW, As far as I know SQL Server WILL update statistics that are automatically created as long as you have this specified (ie, Auto_Update_Statisticts is ON - This is the default) and did not use the NORECOMPUTE clause if you created them manually.

    From BOL: The frequency at which the statistical information is updated is determined by the volume of data in the column or index and the amount of changing data. For example, the statistics for a table containing 10,000 rows may need updating when 1,000 index values have changed because 1,000 values may represent a significant percentage of the table. However, for a table containing 10 million index entries, 1,000 changing index values is less significant, and so the statistics may not be automatically updated. SQL Server, however, always ensures that a minimum number of rows are sampled; tables that are smaller than 8 megabytes (MB) are always fully scanned to gather statistics.

    Cheers,

    Angela