Have you ever tried to improve the performance of a query by
adding a new index to a table with a large number of rows, waited
for ages while the index is built, only to discover that it
didn't really help as much as you'd like?
Or perhaps you have had an index that you have a hunch isn't
doing much to help your query performance and decided to drop it,
only to have a bunch of users complain that their queries are
stalling?
If so, then you will appreciate a nice new feature in the
forthcoming MySQL 8.0 release called "invisible indexes".
Invisible indexes enable you to test the effect of removing an
index on query performance without making a destructive change
that must be undone should the index turn out to be required. By
marking an index as invisible, you are effectively "hiding" it
from the optimizer while the index itself remains intact and can
be restored at any time. This feature makes it much easier to
test the …
[Read more]