8.0 changed the default collation, and a table created after an upgrade sorts differently from one converted before it — silently, and in a way that only shows up in an ordered list.
SELECT table_name, table_collation
FROM information_schema.tables
WHERE table_schema = 'shop'
GROUP BY table_collation;
-- and the join that cannot use an index because of it
-- EXPLAIN: Using where; Using join buffer (Block Nested Loop)
The 0900 collations implement a newer Unicode version and are measurably faster, so the change is an improvement — the problem is a schema with two of them. A join between two differently collated columns cannot use an index on either, which turns a fast query into a nested loop with no error anywhere. Auditing after any upgrade is one query, and setting the collation explicitly in every CREATE TABLE is what stops it recurring.