> An optimization was chosen to limit utf8 to 3 bytes
You chose not to define the UNICODE_32BIT macro that was in the original source from 2002?
* https://github.com/mysql/mysql-server/commit/55e0a9cb01af4b0...
You chose not to define the UNICODE_32BIT macro that was in the original source from 2002?
* https://github.com/mysql/mysql-server/commit/55e0a9cb01af4b0...
The utf8[mb4] support in MySQL 8.0 is much better than prior releases. The team worked really hard on eliminating the use cases for utf8mb3 (performance) so that "just use the default of utf8mb4" can work for everyone.
While the performance differences are historical now, consider the case that because of fixed sized buffers, one query could switch from a temp table in memory to a temp table on disk. The profile of the query has effectively changed.