sql >> Base de Datos >  >> RDS >> Mysql

utf8_bin frente a utf_unicode_ci

Depende de lo que necesites.

El utf8_bin la intercalación compara cadenas basadas únicamente en su Unicode punto de código valores. Si todos los puntos de código tienen los mismos valores, entonces las cadenas son iguales. Sin embargo, esto falla cuando tiene cadenas con una composición diferente para combinar marcas (compuestas frente a descompuestas) o caracteres que son canónicamente equivalentes pero que no tienen el mismo valor de punto de código. En algunos casos, usando utf8_bin dará como resultado que las cadenas no coincidan cuando se espera que lo hagan. Teóricamente, utf8_bin es el más rápido porque no se aplica la normalización de Unicode a las cadenas, pero puede que no sea lo que desea.

utf8_general_ci aplica la normalización Unicode utilizando reglas específicas del idioma y compara cadenas sin distinguir entre mayúsculas y minúsculas. utf8_general_cs hace lo mismo, pero compara cadenas con distinción entre mayúsculas y minúsculas.