Depende do que você precisa.
O
utf8_bin
collation compara strings com base puramente em seu Unicode ponto de código
valores. Se todos os pontos de código tiverem os mesmos valores, as strings serão iguais. No entanto, isso desmorona quando você tem strings com composição diferente para combinar marcas (compostas versus decompostas) ou caracteres que são canonicamente equivalentes, mas não têm o mesmo valor de ponto de código. Em alguns casos, usando utf8_bin
resultará em strings que não correspondem quando você espera. Teoricamente, utf8_bin
é o mais rápido porque nenhuma normalização Unicode é aplicada às strings, mas pode não ser o que você deseja. utf8_general_ci
aplica a normalização Unicode usando regras específicas de idioma e compara strings sem distinção entre maiúsculas e minúsculas. utf8_general_cs
faz o mesmo, mas compara strings diferenciando maiúsculas de minúsculas.