Index kan endast användas när uttryckets sortering matchar den i den indexerade kolumnen.
Om uttryckets COERCIBILITY är lägre än kolumnen (det vill säga 2 ), castas kolumnens sortering till uttryckets och indexet används inte.
Normalt har bokstaver COERCIBILITY av 4 och användarvariabler som för 3 , så detta borde inte vara ett problem.
Men om du blandar olika sorteringar i en JOIN eller UNION , castordningen är inte garanterad.
I det här fallet bör du ange explicit sortering till kolumnen du castar (sannolikt vill du casta latin1 till UTF8 ), och detta bör vara sammanställningen av kolumnen du castar till:
SELECT *
FROM utf_table
JOIN latin_table
ON utf_column = latin_column COLLATE UTF8_GENERAL_CI