I’ve made more improvements to the duplicate index checker. I addressed a MySQL bug Roland Bouman mentioned to me, added more tests to the suite, and made changes so it considers more types of indexes now (HASH, BTREE, SPATIAL). I made no changes to the foreign key checking.

The bug Roland mentioned is a problem with SHOW CREATE TABLE that causes MySQL to show an index as type HASH when it’s really a BTREE. I found a pretty easy workaround.

In the meantime, Roland has released a SQL-only method to find duplicate indexes in newer versions of MySQL. It’s an excellent use of the INFORMATION_SCHEMA. He also wrote an article on finding duplicate indexes for O’Reilly Database, and for his own blog too.

Daniel Schneller has also continued to work on a Java implementation of a GUI tool to find duplicate and redundant indexes.

Done! Now Read These: