5.1.46 has this change:
Performance: While looking for the shortest index for a
covering index scan, the optimizer did not consider the full row
length for a clustered primary key, as in InnoDB. Secondary
covering indexes will now be preferred, making full table scans
less likely.
In other words, if you have covering index on * (which is quite
common on m:n mapping tables), use it rather than PK. As I have
spent my time getting indexing right and having PKs be based on
primary access pattern and SKs on secondary access pattern, I
hereby not welcome the new change that suddenly reverses the
behavior in late GA version.
Not good, when mysqldump queries end up taking 6 days instead of
previous half an hour, not good at all.
Update: Oh, MariaDB has this reverted, from their …
[Read more]