- Change the DB Compatibility to 150.
- Reindexing done for all the databases.
- updatestatistics run for all the databases.
- Created Index for Expensive query’s.
- Removed freespace from database.
That's what the development team did before I had to jump in to try to improve the reports performance. When I changed the compatibility level back to 100, I immediately recorded an improvement, meaning the queries are not optimized for the newer version. Told them that they have to follow the DB Upgrade Wizard's recommendations to tune their queries.
Also, their stored procedures are not amenable to natively compiled execution plans so they have to change those too. I'm also recommending a mirror DB specifically for the reports as too many indexes get created which then need to be updated during transaction processing, bogging down the transaction throughput. Am I on the right track?