Mysql
 sql >> Database >  >> RDS >> Mysql

utf8_bin contro utf_unicode_ci

Dipende da cosa ti serve.

Il utf8_bin confronto confronta le stringhe in base esclusivamente al loro punto di codice valori. Se tutti i punti di codice hanno gli stessi valori, le stringhe sono uguali. Tuttavia, questo va in pezzi quando si hanno stringhe con composizione diversa per la combinazione di segni (composti e scomposti) o caratteri che sono canonicamente equivalenti ma non hanno lo stesso valore del punto di codice. In alcuni casi, utilizzando utf8_bin risulterà in stringhe non corrispondenti quando previsto. Teoricamente, utf8_bin è il più veloce perché alle stringhe non viene applicata alcuna normalizzazione Unicode, ma potrebbe non essere ciò che desideri.

utf8_general_ci applica la normalizzazione Unicode utilizzando regole specifiche della lingua e confronta le stringhe senza distinzione tra maiuscole e minuscole. utf8_general_cs fa lo stesso, ma confronta le stringhe con distinzione tra maiuscole e minuscole.