Indekser kan kun bruges, når udtrykkets sortering matcher den i den indekserede kolonne.
Hvis udtrykket er COERCIBILITY
er lavere end kolonnens (dvs. 2
). ), castes kolonnens sortering til udtrykket, og indekset bruges ikke.
Normalt har bogstaver COERCIBILITY
af 4
og brugervariable for 3
, så dette burde ikke være et problem.
Men hvis du blander forskellige sammenstillinger i en JOIN
eller UNION
, cast-rækkefølgen er ikke garanteret.
I dette tilfælde skal du angive eksplicit sortering til den kolonne, du caster (sandsynligvis vil du caste latin1
til UTF8
), og dette skal være sammenstillingen af den kolonne, du caster til:
SELECT *
FROM utf_table
JOIN latin_table
ON utf_column = latin_column COLLATE UTF8_GENERAL_CI