See Also ACID, hot backup, MySQL Enterprise Backup, storage engine, transaction. 

## innodb_autoinc_lock_mode 

 The innodb_autoinc_lock_mode  option controls the algorithm used for auto-increment locking . When you have an auto-incrementing primary key , you can use statement-based replication only with the setting innodb_autoinc_lock_mode=1 . This setting is known as consecutive  lock mode, because multi-row inserts within a transaction receive consecutive auto-increment values. If you have innodb_autoinc_lock_mode=2 , which allows higher concurrency for insert operations, use row-based replication rather than statement- based replication. This setting is known as interleaved  lock mode, because multiple multi-row insert statements running at the same time can receive auto-increment  values that are interleaved. The setting innodb_autoinc_lock_mode=0  should not be used except for compatibility purposes. 

Consecutive lock mode ( innodb_autoinc_lock_mode=1 ) is the default setting prior to MySQL 8.0.3. As of MySQL 8.0.3, interleaved lock mode ( innodb_autoinc_lock_mode=2 ) is the default, which reflects the change from statement-based to row-based replication as the default replication type. 

See Also auto-increment, auto-increment locking, mixed-mode insert, primary key. 

## innodb_file_per_table 

 An important configuration option that affects many aspects of InnoDB  file storage, availability of features, and I/O characteristics. In MySQL 5.6.7 and higher, it is enabled by default. The innodb_file_per_table  option turns on file-per-table  mode. With this mode enabled, a newly created InnoDB  table and associated indexes can be stored in a file-per-table .ibd file , outside the system tablespace . 

This option affects the performance and storage considerations for a number of SQL statements, such as DROP TABLE  and TRUNCATE TABLE . 

Enabling the innodb_file_per_table  option allows you to take advantage of features such as table compression  and named-table backups in MySQL Enterprise Backup . 

For more information, see innodb_file_per_table , and Section 15.6.3.2, “File-Per-Table Tablespaces” . See Also compression, file-per-table, .ibd file, MySQL Enterprise Backup, system tablespace. 

## innodb_lock_wait_timeout 

 The innodb_lock_wait_timeout  option sets the balance between waiting  for shared resources to become available, or giving up and handling the error, retrying, or doing alternative processing in your application. Rolls back any InnoDB  transaction that waits more than a specified time to acquire a lock . Especially useful if deadlocks  are caused by updates to multiple tables controlled by different storage engines; such deadlocks are not detected  automatically. 

See Also deadlock, deadlock detection, lock, wait. 

## innodb_strict_mode 

 The innodb_strict_mode  option controls whether InnoDB  operates in strict mode , where conditions that are normally treated as warnings, cause errors instead (and the underlying statements fail). 

See Also strict mode. 

## insert 

 One of the primary DML  operations in SQL . The performance of inserts is a key factor in data warehouse systems that load millions of rows into tables, and OLTP  systems where many concurrent connections might insert rows into the same table, in arbitrary order. If insert performance is important to you, you should learn about InnoDB  features such as the insert buffer  used in change buffering , and auto-increment  columns. 

See Also auto-increment, change buffering, data warehouse, DML, InnoDB, insert buffer, OLTP, SQL. 

## insert buffer 

 The former name of the change buffer . In MySQL 5.5, support was added for buffering changes to secondary index pages for DELETE  and UPDATE  operations. Previously, only changes resulting from INSERT  operations were buffered. The preferred term is now change buffer . 

