\nToday there isn’t a fine-tuned way to clear the accumulated statistics from the “missing index” set of DMVs. <\/span>Certainly restarting SQL Server will do this, but you don’t have something like DBCC SQLPERF (‘sys.dm_os_wait_stats’, CLEAR) to reset statistics for dm_db_missing_index_columns, dm_db_missing_index_groups, dm_db_missing_index_group_stats and dm_db_missing_index_details.<\/font><\/font>\n<\/p>\n \nWhile we don’t have this direct option, there is an interesting behavior that I’ll demonstrate on this blog post using SQL Server 2008 R2 (10.50.1617).<\/font><\/font>\n<\/p>\n \nRight after restarting SQL Server, I run the following query to generate a few entries in the missing index DMVs (each query spawns a missing index recommendation):<\/font><\/font>\n<\/p>\n \nUSE<\/font><\/font><\/span> AdventureWorks<\/font><\/span><\/font>\n<\/p>\n \nGO<\/font><\/font><\/span>\n<\/p>\n \n \n<\/p>\n \n<\/font><\/font><\/span>\n<\/p>\n \nSELECT<\/font><\/font><\/span> ProductID<\/font><\/span><\/font>\n<\/p>\n \nFROM<\/font><\/font><\/span> Sales.<\/font><\/span>SalesOrderDetail<\/font><\/span><\/font>\n<\/p>\n \nWHERE<\/font><\/font><\/span> UnitPriceDiscount =<\/font><\/span> 0.40<\/font><\/span><\/font>\n<\/p>\n \nGO<\/font><\/font><\/span>\n<\/p>\n \n \n<\/p>\n \n<\/font><\/font><\/span>\n<\/p>\n \nSELECT<\/font><\/font><\/span> SalesOrderID<\/font><\/span><\/font>\n<\/p>\n \nFROM<\/font><\/font><\/span> Sales.<\/font><\/span>SalesOrderDetail<\/font><\/span><\/font>\n<\/p>\n \nWHERE<\/font><\/font><\/span> LineTotal =<\/font><\/span> 236.421500<\/font><\/span><\/font>\n<\/p>\n \nGO<\/font><\/font><\/span>\n<\/p>\n \n \n<\/p>\n \n<\/font><\/font><\/span>\n<\/p>\n \nSELECT<\/font><\/font><\/span> SalesOrderID<\/font><\/span><\/font>\n<\/p>\n \nFROM<\/font><\/font><\/span> Sales.<\/font><\/span>SalesOrderHeader<\/font><\/span><\/font>\n<\/p>\n \nWHERE<\/font><\/font><\/span> TaxAmt =<\/font><\/span> <\/font>'10.316'<\/font><\/span><\/span><\/font>\n<\/p>\n \nGO<\/font><\/font><\/span>\n<\/p>\n \nNext I execute the following query to see the three entries in the missing index DMVs:<\/font><\/font>\n<\/p>\n \nSELECT<\/font><\/font><\/span> <\/span>s.<\/font><\/span>last_user_seek<\/font>,<\/font><\/span><\/span><\/font>\n<\/p>\n \n <\/font><\/span>d.<\/font><\/span>object_id<\/font><\/span><\/font>,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>d.<\/font><\/span>equality_columns<\/font>,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>d.<\/font><\/span>inequality_columns<\/font>,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>d.<\/font><\/span>included_columns<\/font>,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>d.<\/font><\/span>statement<\/font><\/span><\/font>,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>s.<\/font><\/span>avg_user_impact<\/font><\/font><\/span>\n<\/p>\n \nFROM<\/font><\/font><\/span> sys<\/font><\/span>.<\/font><\/span>dm_db_missing_index_group_stats<\/font><\/span> AS<\/font><\/span> s<\/font><\/span><\/font>\n<\/p>\n \nINNER<\/font><\/font><\/span> JOIN<\/font><\/span> sys<\/font><\/span>.<\/font><\/span>dm_db_missing_index_groups<\/font><\/span> AS<\/font><\/span> g<\/font><\/span><\/font>\n<\/p>\n \n <\/font><\/span>ON <\/font><\/span>(<\/font><\/span>s.<\/font><\/span>group_handle =<\/font><\/span> g.<\/font><\/span>index_group_handle<\/font>)<\/font><\/span><\/font><\/span>\n<\/p>\n \nINNER<\/font><\/font><\/span>