This topic has also been discussed in MDEV-21952. In the upcoming MariaDB Server 10.6.13 release, MDEV-29593 should improve reuse of undo log pages. Starting with MariaDB Server 10.11 (the newest long-term-support release series), thanks to MDEV-19229 you can change the value of innodb_undo_tablespaces
after SET GLOBAL innodb_fast_shutdown=0; SHUTDOWN;
.
Tables that reside in the InnoDB system tablespace should be reported by the following query:
SELECT name FROM information_schema.innodb_sys_tables WHERE space=0;
Last but not least, MDEV-27734 set innodb_change_buffering=none
by default not only because it can make the system tablespace grow uncontrollably, but also because of various corruption issues that have affected MySQL and MariaDB alike.
Edit:
The recently released MariaDB Server 11.2.1 includes MDEV-14795, which allows the InnoDB system tablespace to be shrunk on startup if innodb_data_file_path
includes the attribute :autoshrink
. This could be useful in combination with the two changes in MariaDB Server 11.0: MDEV-29986, which made innodb_undo_tablespaces=3
the new default, and MDEV-29694, which removed the InnoDB change buffer.