Indeks hanya dapat digunakan jika susunan ekspresi cocok dengan kolom yang diindeks.
Jika ekspresi COERCIBILITY lebih rendah dari kolom (yaitu 2 ), susunan kolom dicor ke ekspresi, dan indeks tidak digunakan.
Biasanya, literal memiliki COERCIBILITY dari 4 dan variabel pengguna dari 3 , jadi ini seharusnya tidak menjadi masalah.
Namun, jika Anda mencampur susunan yang berbeda dalam JOIN atau UNION , urutan pemeran tidak dijamin.
Dalam hal ini Anda harus memberikan susunan eksplisit ke kolom yang Anda casting (kemungkinan besar, Anda ingin mentransmisikan latin1 ke UTF8 ), dan ini harus menjadi susunan kolom yang Anda casting:
SELECT *
FROM utf_table
JOIN latin_table
ON utf_column = latin_column COLLATE UTF8_GENERAL_CI