Индексите могат да се използват само когато съпоставянето на израза съвпада с това в индексираната колона.
Ако COERCIBILITY на израза е по-нисък от този на колоната (това е 2 ), съпоставянето на колоната се прехвърля към това на израза и индексът не се използва.
Обикновено литералите имат COERCIBILITY от 4 и потребителски променливи от 3 , така че това не би трябвало да е проблем.
Въпреки това, ако смесите различни съпоставяния в JOIN или UNION , редът на предаване не е гарантиран.
В този случай трябва да предоставите изрично съпоставяне на колоната, която прехвърляте (най-вероятно искате да предадете latin1 към UTF8 ), и това трябва да бъде сортирането на колоната, към която предавате:
SELECT *
FROM utf_table
JOIN latin_table
ON utf_column = latin_column COLLATE UTF8_GENERAL_CI