MySQL-optimeraren bestämmer först anslutningsordning/-metod och kontrollerar sedan om det för den valda kopplingsordningen är möjligt att undvika sortering genom att använda ett index. För den långsamma frågan i denna fråga har optimeraren beslutat att använda Block-Nested-Loop (BNL) join.
BNL är vanligtvis snabbare än att använda ett index när en av tabellerna är mycket liten (och det inte finns någon LIMIT).
Men med BNL kommer raderna inte nödvändigtvis att komma i den ordning som ges av den första tabellen. Därför måste resultatet av sammanfogningen sorteras innan LIMIT tillämpas.
Du kan stänga av BNL genom att set optimizer_switch = 'block_nested_loop=off';