That described me, 10 years ago, too 
insert the output from your SELECT (or the EXEC of a function that outputs them) into a table. Add a column for Date/Time and e.g. Server Name and Database Name. (Server name helpful when the database / etc. is moved to a new server and you are reporting, historically, but otherwise no benefit - its the same on every row - until you move servers
).
Here's what I use for an Index Reorg and a Rebuild Statistics (REORG Index does not rebuild statistics, whereas Rebuild Index will create fresh statistics)
PRINT 'REORGANIZE [MyDatabase].[dbo].[MyTable] - [MyIndex]'
GO
ALTER INDEX [MyIndex] ON [MyDatabase].[dbo].[MyTable] REORGANIZE
GO
PRINT 'Update Stats '
GO
UPDATE STATISTICS [MyDatabase].[dbo].[MyTable] [MyIndex] WITH FULLSCAN
GO
This may be useful:
-- Date statistics last updated for a given table
SELECT LEFT(t.name, 30) AS Table_Name,
LEFT(i.name, 30) AS Index_Name,
LEFT(i.type_desc, 15) AS Index_Type,
STATS_DATE(i.object_id,i.index_id) AS Date_Updated
FROM sys.indexes AS i
JOIN sys.tables AS t
ON t.object_id = i.object_id
WHERE i.type > 0
--
-- ORDER BY t.name ASC, i.type_desc ASC, i.name ASC
ORDER BY Date_Updated DESC, t.name ASC, i.type_desc ASC, i.name ASC
-- Index Last Modified date
DECLARE @dbid int
SELECT @dbid = db_id('MyDatabase')
SELECT TOP 100
[objectname] = object_name(i.object_id)
, [indexname] = i.name
, i.index_id
, o.create_date
, o.modify_date
FROM sys.indexes AS i
JOIN sys.objects AS o
ON o.object_id = i.object_id
WHERE objectproperty(o.object_id,'IsUserTable') = 1
AND i.index_id NOT IN
(
SELECT s.index_id
FROM sys.dm_db_index_usage_stats AS s
WHERE s.object_id=i.object_id
AND i.index_id=s.index_id
-- AND database_id = @dbid
)
--
ORDER BY
o.modify_date DESC,
objectname,
i.index_id,
indexname asc
-- Find out which tables have auto-update off
SELECT o.name AS [Table],
i.name AS [Index Name],
STATS_DATE(i.object_id, i.index_id) AS [Update Statistics date],
s.auto_created AS [Created by QueryProcessor],
s.no_recompute AS [Disabled Auto Update Statistics],
s.user_created AS [Created by user]
FROM sys.objects AS o WITH (NOLOCK)
INNER JOIN sys.indexes AS i WITH (NOLOCK)
ON o.object_id = i.object_id
INNER JOIN sys.stats AS s WITH (NOLOCK)
ON i.object_id = s.object_id
AND i.index_id = s.stats_id
WHERE o.[type] = 'U'
AND no_recompute = 1
ORDER BY STATS_DATE(i.object_id, i.index_id) ASC;
-- set that property on
ALTER INDEX MyIndex
ON dbo.MyTabve
SET (STATISTICS_NORECOMPUTE = OFF)
You can just change it, for an index. If you have, ever, used the standard SSMS maintenance plan that may well have reset ALL the indexes on ALL the tables to the same FILL FACTOR.
If you have an index that only ever fills at one end (e.g. IDENTITY) then there is no point having a FILL FACTOR of less than 100%. So make sure that index is set to 100%.
OTOH if you have an index where the new entries are added at random then it might make sense to have a fill factor of, say, 80% - that would allow space for some additions WITHOUT having to split the page, and splitting the page will cause fragmentation.
On very large indexes the performance might be better if you have 100% FILL FACTOR - every page will be 100% full, so fewer index pages, overall, for SQL to have to read. Downside is every INSERT to a full page requires a page-split. But maybe all your INSERTS are localised - so they cluster in one spot, so once the page is split the new, half-page, will continue to fill up. Overall not too bad.
Definitely something to experiment with IMHO :slight_smile