It has both good and bad sides. Good that users who need non-latin1 characters won't longer need to change the default character set. Bad for latin1-only users, because it comes with an unknown slowdown (MDEV-20416) and because it'll truncate indexes. Compare:
MariaDB [test]> create table t1 (a varchar(2000), index(a)) character set utf8mb4;
|
Query OK, 0 rows affected, 1 warning (0.013 sec)
|
|
Warning (Code 1071): Specified key was too long; max key length is 1000 bytes
|
MariaDB [test]> show create table t1;
|
+-------+-----------------------------------------------------------------------------------------------------------------+
|
| Table | Create Table |
|
+-------+-----------------------------------------------------------------------------------------------------------------+
|
| t1 | CREATE TABLE `t1` (
|
`a` varchar(2000) DEFAULT NULL,
|
KEY `a` (`a`(250))
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 |
|
+-------+-----------------------------------------------------------------------------------------------------------------+
|
|
MariaDB [test]> create table t2 (a varchar(2000), index(a));
|
Query OK, 0 rows affected, 1 warning (0.017 sec)
|
|
Warning (Code 1071): Specified key was too long; max key length is 1000 bytes
|
MariaDB [test]> show create table t2;
|
+-------+--------------------------------------------------------------------------------------------------------------------+
|
| Table | Create Table |
|
+-------+--------------------------------------------------------------------------------------------------------------------+
|
| t2 | CREATE TABLE `t2` (
|
`a` varchar(2000) DEFAULT NULL,
|
KEY `a` (`a`(1000))
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
|
+-------+--------------------------------------------------------------------------------------------------------------------+
|
with latin1 the key is 4 times longer.
For UNIQUE keys it's even worse, a UNIQUE cannot be automatically truncated, so it'll be converted to a HASH based constraint, and such a constraint isn't yet supported by the optimizer (MDEV-17081). So, while a UNIQUE will still work (it's a new 10.4 feature, in 10.3 it'd be an error), it won't longer be used as an index unless MDEV-17081 is closed.
Reported downstream: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923526