Generally XF (and most decent scripts) already utilize the necessary indexes.
As for anytime you "tweak/touch" your database... you BETTER back it before you do. And I even suggest taking the site offline so that the DB cannot be written to during the time you may be tweaking it.
I personally use Redis cache on the server as well as the OpCache for PHP.
Then I push the utilization as much as I can of CloudFlare's free service for edge-caching of the content.
View attachment 379
View attachment 380
I could do a lot better on cached content if I was on the paid plan and spent some time tweaking it. But the issue with any dynamic site (which a forum is) consists of there is only a limited amount of static data to cache. And let's not mention that several of my "data served" are physical files that are not typically cached on the CloudFlare free level.