In the preceding section, you learned about removing redundant and duplicate indexes. While designing an application, you might have thought about filtering a query based on a column and added index. But over a period of time, because of changes in the application, you might not need that index. In this section, you will learn about identifying those unused indexes.
There are two ways you can find unused indexes:
- Using
pt-index-usage
(covered in this section) - Using
sys
schema (covered in the next section)
We can use the pt-index-usage
tool from the Percona Toolkit to get the index analysis. It takes queries from the slow query log, runs the explain plan for each and every query, and identifies the unused indexes. If you have a list of queries, you can save them in slow query format and pass that to the tool. Note that this is only an approximation because the slow query log does not include all the queries:
shell> sudo pt-index-usage slow -u <user>...