Haben Sie „alles richtig gemacht“? Ja, außer dass ich denke, dass französische Akzente in utf8mb4_unicode_520_ci 'richtig' verglichen werden.
Ihre zwei SELECTs
wird beides zu einem Full-Table-Scan und ist dadurch ineffizient. Der Grund dafür ist, dass Sie die Sortierung überschreiben (für #1) oder die Spalte in einer Funktion ausblenden (LOWER
, für #2) oder mit einem führenden Platzhalter (LIKE %...
).
Wenn Sie möchten, dass es effizient ist, deklarieren Sie name
um COLLATION utf8mb4_bin
zu sein und machen Sie einfach WHERE name = ...
.
Denken Sie, dass einige dieser Äquivalenzen und Reihenfolgen für Französisch "falsch" sind?
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 Þ=þ µ
Weitere utf8-Kollationen .8.0- und utf8mb4-Sortierungen .
Die "520" (neuere) Version, indem Æ
nicht behandelt wird , Ð
, Ł
, und Ø
als separate 'Buchstaben' und vielleicht andere Dinge.