•MySQL 8.0.11 introduced dedicated log writer threads for writing redo log records from the log buffer to the system buffers and flushing the system buffers to the redo log files. Previously, individual user threads were responsible those tasks. As of MySQL 8.0.22, you can enable or disable log writer threads using the innodb_log_writer_threads  variable. Dedicated log writer threads can improve performance on high-concurrency systems, but for low-concurrency systems, disabling dedicated log writer threads provides better performance. 

•Optimize the use of spin delay by user threads waiting for flushed redo. Spin delay helps reduce latency. During periods of low concurrency, reducing latency may be less of a priority, and avoiding the use of spin delay during these periods may reduce energy consumption. During periods of high concurrency, you may want to avoid expending processing power on spin delay so that it can be used for other work. The following system variables permit setting high and low watermark values that define boundaries for the use of spin delay. 

• innodb_log_wait_for_flush_spin_hwm : Defines the maximum average log flush time beyond which user threads no longer spin while waiting for flushed redo. The default value is 400 microseconds. 

• innodb_log_spin_cpu_abs_lwm : Defines the minimum amount of CPU usage below which user threads no longer spin while waiting for flushed redo. The value is expressed as a sum of CPU core usage. For example, The default value of 80 is 80% of a single CPU core. On a system with a multi- core processor, a value of 150 represents 100% usage of one CPU core plus 50% usage of a second CPU core. 

• innodb_log_spin_cpu_pct_hwm : Defines the maximum amount of CPU usage above which user threads no longer spin while waiting for flushed redo. The value is expressed as a percentage of the combined total processing power of all CPU cores. The default value is 50%. For example, 100% usage of two CPU cores is 50% of the combined CPU processing power on a server with four CPU cores. 

The innodb_log_spin_cpu_pct_hwm  configuration option respects processor affinity. For example, if a server has 48 cores but the mysqld  process is pinned to only four CPU cores, the other 44 CPU cores are ignored. 

## 8.5.5 Bulk Data Loading for InnoDB Tables 

These performance tips supplement the general guidelines for fast inserts in Section 8.2.5.1, “Optimizing INSERT Statements” . 

•When importing data into InnoDB , turn off autocommit mode, because it performs a log flush to disk for every insert. To disable autocommit during your import operation, surround it with SET autocommit and COMMIT  statements: 

SET autocommit=0; ... SQL import statements ... COMMIT; 

The mysqldump  option --opt  creates dump files that are fast to import into an InnoDB  table, even without wrapping them with the SET autocommit  and COMMIT  statements. 

•If you have UNIQUE  constraints on secondary keys, you can speed up table imports by temporarily turning off the uniqueness checks during the import session: 

SET unique_checks=0; ... SQL import statements ... SET unique_checks=1; 

