Tava - Friday, April 28, 2017 7:09 PM
If you look at your seeks, scans, you'll see that they are being used. As is normal, some are being used more heavily than others.
The IX_CompanyHistory_ChangedByPersonID has been scanned. If the name tells me what I infer from it (that it's used to cover a foreign key to a Persons table) then the scans could be the result of an update or delete on the Persons table.
As with anything, investigate what's using them and how. You asked about the scan-heavy NCI. I don't know if it's the case, but if you're using a WHERE clause in a column of IX_CompanyHistory_HistoryTypeIDTimestamp and the column isn't the leading column in the NCI, then the result will be a scan because the NCI isn't in the order the query needs. This would be a case where SQL Server uses the NCI to save on reads, but must scan the whole NCI to get the data it needs.
You have a lot of lookups against your PK. If this is also the clustered index, then your queries are using an NCI to find the data it needs and then doing a lookup on the CI to get the rest of the data it needs. It may be the case that you need another column in an NCI to cover your common queries. There's no way for me to know this definitively because I don't know your workload. Again, look into what's using them and how.
I hope this helps.