Indexen kunnen alleen worden gebruikt als de sortering van de expressie overeenkomt met die in de geïndexeerde kolom.
Als de uitdrukking COERCIBILITY
. is lager is dan die van de kolom (dat is 2
), wordt de sortering van de kolom gecast naar die van de uitdrukking en wordt de index niet gebruikt.
Normaal gesproken hebben letterlijke waarden COERCIBILITY
van 4
en gebruikersvariabelen die van 3
, dus dit zou geen probleem moeten zijn.
Als u echter verschillende sorteringen combineert in een JOIN
of UNION
, de cast-volgorde is niet gegarandeerd.
In dit geval moet u een expliciete sortering opgeven voor de kolom die u cast (waarschijnlijk wilt u latin1
casten naar UTF8
), en dit zou de sortering moeten zijn van de kolom waarnaar u cast:
SELECT *
FROM utf_table
JOIN latin_table
ON utf_column = latin_column COLLATE UTF8_GENERAL_CI