Det beror på vad du behöver.
utf8_bin
collation jämför strängar enbart baserat på deras Unicode kodpunkt
värden. Om alla kodpunkter har samma värden är strängarna lika. Detta faller dock isär när du har strängar med olika sammansättning för att kombinera märken (komponerade vs. dekomponerade) eller tecken som är kanoniskt likvärdiga men inte har samma kodpunktsvärde. I vissa fall använder du utf8_bin
kommer att resultera i att strängar inte matchar när du förväntar dig att de ska göra det. Teoretiskt sett utf8_bin
är snabbast eftersom ingen Unicode-normalisering tillämpas på strängarna, men det kanske inte är vad du vill ha.
utf8_general_ci
tillämpar Unicode-normalisering med hjälp av språkspecifika regler och jämför strängar skiftlägesokänsligt. utf8_general_cs
gör samma sak, men jämför strängar skiftlägeskänsligt.