I recently went from MySQL 5.7 to 8.0. I noticed some changes between 5.7 and 8. But I did not find any discussion on the following situation that puzzled me for a while.
I have some tables that contain UTF8 texts. When I was optimizing the table (from mySQL, using OPTIMIZE TABLE), I noticed that the size of the MYD file was more than doubled, for example from 4 to 8 million (approximately, and not exactly double, but 2.1 times more).
I thought this might be due to my update from MySQL 5.7 to 8.0. I have therefore duplicated the entire table in MySQL 8. The newly duplicated table has the expected size. Then I started again optimization on this table and its size doubled again!
I've also noticed the following.
First: it does not affect all MyISAM tables. Just some of them.
Secondly: in older systems (5.7 and earlier), if I repeatedly ran OPTIMIZE TABLE on the same table, from the second moment, mySQL would tell me that the table was up to date and that the optimization does not take almost no time. But in MySQL 8, and only for tables that double the size after OPTIMIZE TABLE, every time I run the optimization, the optimization is reached to get an OK status. It never reaches the "table is up to date" status and the file size does not change after dubbing.
Someone is running into similar situations? Explinations?