After truncating, the statistics will be updated next time they are accessed, unless you manually update them.Consider the following:Create Table t1 (a int, b char(1), c int);GODeclare @i intset @i = 1while @i < 10000begin insert t1 values(@i, char(@i%65 + 65), @i - 1) set @i = @i + 1endGOcreate statistics stT1a on t1 (a);create statistics stT1b on t1 (b);GOdbcc show_statistics ('t1', 'stT1b'); -- 41 rowsGOTruncate Table t1;GOdbcc show_statistics ('t1', 'stT1b'); -- still 41 rows. truncate leaves stats intactGOinsert t1 values(1, 'a', 0);GOdbcc show_statistics ('t1', 'stT1b'); -- still 41 rows, insert doesn't affect them eitherGOSELECT * FROM t1;GOdbcc show_statistics ('t1', 'stT1b'); -- still 41 rows (select * doesn't care about stats)GO-- now execute a query that will utilize statisticsselect * from t1 where b = 'Y';GOdbcc show_statistics ('t1', 'stT1b'); -- 1 row (header row only)GOdrop table t1;GO