Yes there are caveats with adding indexes ad hoc and there are many posts regarding extracting a relevant query, testing with SET STATISTICS IO … etc to validate the proposed index.
One query to peek into the cache is:
SELECT cp.objtype ,cp.usecounts ,cp.refcounts ,cp.size_in_bytes ,qt.text AS query_text ,qp.query_plan AS query_plan FROM master.sys.dm_exec_cached_plans AS cp (NOLOCK) CROSS APPLY sys.dm_exec_query_plan (cp.plan_handle) AS qp CROSS APPLY sys.dm_exec_sql_text (cp.plan_handle) AS qt WHERE CAST(query_plan AS nvarchar(MAX)) LIKE N'%MissingIndex%' ORDER BY cp.usecounts DESC, cp.refcounts DESC OPTION (RECOMPILE, MAXDOP 1);
When clicking on the query_plan xml you should get something similar to the below.
If you don’t; try place the xml in a text file and give the text file the extension .sqlplan e.g. missing_index.sqlplan
Right click on the reported missing index and select Missing Index Details…
You now need to give the index a name that follows your index naming standards
and run the query
As always, you should validate the effectiveness of the new index i.e. before and after using SET STATISTICS IO ON etc, before deciding to keep it.