• Marko Mäkelä's avatar
    MDEV-23720 Change innodb_log_optimize_ddl=OFF by default · 987df9b3
    Marko Mäkelä authored
    MariaDB 10.2.2 inherited from MySQL 5.7 a perceived optimization
    of ALTER TABLE, which skips the writing of redo log records.
    In MDEV-16809 we introduced a parameter that allows the redo log to
    be written, so that Mariabackup would not be impacted, but we kept
    the MySQL 5.7 behaviour enabled by default (innodb_log_optimize_ddl=ON).
    
    As noted in MDEV-19747 (Deprecate and ignore innodb_log_optimize_ddl,
    implemented in MariaDB 10.5.1), omitting the redo log writes can
    actually reduce performance, because we will have to wait for the data
    pages to be written out. When the redo log file is configured to be
    large enough, it actually can be much faster to write the redo log and
    avoid the extra page flushing.
    
    When the redo log is omitted (innodb_log_optimize_ddl=ON), also
    Mariabackup may have to perform a lot of extra work, to re-copy the
    entire data file if it is possible that any log was omitted during
    the backup.
    
    Starting with MariaDB 10.5.1, the parameter innodb_log_optimize_ddl
    is deprecated and ignored. We hereby deprecate (but will not ignore)
    the parameter in earlier versions as well.
    987df9b3
ha_innodb.cc 642 KB