utf is echt utfmb3 en mag maximaal 3 bytes per teken gebruiken, terwijl utfmb4 4 bytes per teken mag gebruiken. Voor VARCHAR-kolommen maakt dit normaal gesproken niet veel uit, aangezien MySQL slechts zoveel bytes zal opslaan als nodig is (tenzij u uw MyISAM-tabellen hebt gemaakt met ROW_FORMAT=FIXED).
Tijdens het uitvoeren van query's kan MySQL echter tijdelijke tabellen maken in de MEMORY-opslagengine die geen rijen met variabele lengte ondersteunt. Deze tijdelijke tabellen hebben een maximale grootte en als die grootte wordt overschreden, worden de tijdelijke tabellen geconverteerd naar tabellen in MyISAM/InnoDB (afhankelijk van uw versie van MySQL). De statusvariabele Created_tmp_disk_tables
wordt elke keer dat dit gebeurt verhoogd. Zo ja, probeer dan te zien of het helpt om de waarde van max_heap_table_size
te verhogen en tmp_table_size
.
U kunt ook upgraden naar MySQL 8.0, waar een nieuwe opslagengine wordt gebruikt die rijen met variabele lengte ondersteunt voor interne tijdelijke tabellen.