sql >> Database >  >> RDS >> Mysql

utf8mb4_unicode_ci versus utf8mb4_bin

Heb je "de dingen goed gedaan"? Ja, behalve dat ik denk dat Franse accenten 'correct' worden vergeleken in utf8mb4_unicode_520_ci.

Je twee SELECTs zal zowel naar een volledige tafel scannen, daardoor inefficiënt zijn. De reden is dat u de sortering overschrijft (voor #1) of de kolom verbergt in een functie (LOWER , voor #2) of met een voorloopwildcard (LIKE %... ).

Als je wilt dat het efficiënt is, declareer dan name te zijn COLLATION utf8mb4_bin en doe gewoon WHERE name = ... .

Denk je dat sommige van deze equivalenties en volgorden 'onjuist' zijn voor het Frans?

A=a=ª=À=Á=Â=Ã=Ä=Å=à=á=â=ã=ä=å=Ā=ā=Ą=ą  Aa  ae=Æ=æ  az  B=b  C=c=Ç=ç=Ć=ć=Č=č  ch  cz
D=d=Ð=ð=Ď=ď  dz  E=e=È=É=Ê=Ë=è=é=ê=ë=Ē=ē=Ĕ=ĕ=Ė=ė=Ę=ę=Ě=ě  F=f  fz  ƒ  G=g=Ğ=ğ=Ģ=ģ
gz  H=h  hz  I=i=Ì=Í=Î=Ï=ì=í=î=ï=Ī=ī=Į=į=İ  ij=ij  iz  ı  J=j  K=k=Ķ=ķ
L=l=Ĺ=ĺ=Ļ=ļ=Ł=ł  lj=LJ=Lj=lj  ll  lz  M=m  N=n=Ñ=ñ=Ń=ń=Ņ=ņ=Ň=ň  nz
O=o=º=Ò=Ó=Ô=Õ=Ö=Ø=ò=ó=ô=õ=ö=ø  oe=Œ=œ  oz  P=p  Q=q  R=r=Ř=ř  S=s=Ś=ś=Ş=ş=Š=š  sh
ss=ß  sz  T=t=Ť=ť  TM=tm=™  tz  U=u=Ù=Ú=Û=Ü=ù=ú=û=ü=Ū=ū=Ů=ů=Ų=ų  ue  uz  V=v  W=w  X=x
Y=y=Ý=ý=ÿ=Ÿ  yz  Z=z=Ź=ź=Ż=ż=Ž=ž  zh  zz  Þ=þ  µ

Meer utf8-sorteringen .8.0 en utf8mb4-sorteringen .

De "520" (nieuwere) versie door Æ . niet te behandelen , Ð , Ł , en Ø als aparte 'letters', en misschien andere dingen.



  1. ServiceNow integreren met Oracle Identity Cloud Service (IDCS)

  2. Hoe kolom met beperking te laten vallen?

  3. Retourneer de gegevens uit de rijen met de meest recente datum van elke afzonderlijke candidate_id

  4. DATEPART() Voorbeelden in SQL Server