Точнее не баг а особенное поведение. Добавил новую таблицу для вип статуса в базу и добавил в нее пару записей. Простое объединение должно было быть простым, но на маленькой таблице База решила не использовать индексы и решила, что вместо выборки 15 строк, проще сканировать все записи подряд, и это из-за добавления простого объединения без участия данных этой таблицы в параметрах выборки вообще. Тот ещё сюрприз… Казалось бы, при двух записях в таблице индексы и не нужны, хоть и были.
Короче трэш…
Для адекватной работы движка базы MySQL в этой ситуации потребовалось от 5 записей в таблице. С большой вероятностью это баг самого движка. Данные из тестовой базы
1652650 - 25.00 - Using where; Using temporary; Using filesort
5 - 100.00 - Using where; Using join buffer (Block Nested Loop)