dedlfix: MySQL GROUP_CONCAT mit UNION ALL kleineres Limit?

Beitrag lesen

Hi!

erzwinge die von Dir gewünschte Zeichencodierung mit CONVERT(... USING ...).

Ich würde ja im MySQL-Handbuch zur Funktion GROUP_CONCAT() nachlesen und die dortige Information berücksichtigen, dann braucht es auch keine Konvertierung in 1-Byte-Kodierungen nebst potentiellem Zeichenverlust.

Funktioniert danke. Ich verstehe aber nicht warum :)

Das steht nicht dort im Handbuch, aber beim Index müsste es erwähnt sein, dass bei seinen Längenbegrenzungen in Byte gezählt wird und dass bei UTF-8 3 Byte pro Zeichen veranschlagt werden, egal ob sie nun benötigt werden oder nicht.

[...] das Limit scheint 1023 bzw 341 Zeichen zu sein, nicht 341 Bytes.

Und siehe da, 1024 / 3 ist 341 und ein Rest-Byte.

Lo!