MDEV-23326: Aria significantly slow on timezone intialisation
The --skip-write-binary-log added to mysql_tzinfo_to_sql in MDEV-18778 was only effective if galera was enabled on the server. This is because it tied together three concepts under one option: 1. binary logging 2. wsrep replication, and 3. using innodb as a transitional table type. Change 1: small change in help option to reflect this. To solve the performance problem with Aria tables, LOCK TABLES WRITE is used to eliminate the need to fdatasync until the UNLOCK TABLES. If galera isn't enabled, then we also want to use the LOCK TABLE WRITE mechanism. The START TRANSACTION added in MDEV-23440 needed to be moved to before LOCK TABLES otherwise it would cancel their effect. TRUNCATE TABLE statements also need to be before the LOCK TABLES. When changing back from InnoDB to Aria, include the ORDER BY that was originally there in 6aaccbcb and matching the final ALTER TABLE in the timezonedir branch. Running: mariadb-tzinfo-to-sql --skip-write-binlog /usr/share/zoneinfo now generates 16 Aria_transaction_log_syncs from 7053.
Showing
This diff is collapsed.
Please register or sign in to comment