inserts into that table, so that rows inserted by the first transaction receive consecutive primary key values. InnoDB  includes optimizations and the innodb_autoinc_lock_mode  option so that you can configure and optimal balance between predictable sequences of auto-increment values and maximum concurrency  for insert operations. 

See Also auto-increment, concurrency, innodb_autoinc_lock_mode. 

autocommit 

 A setting that causes a commit  operation after each SQL  statement. This mode is not recommended for working with InnoDB  tables with transactions  that span several statements. It can help performance for read-only transactions  on InnoDB  tables, where it minimizes overhead from locking  and generation of undo  data, especially in MySQL 5.6.4 and up. It is also appropriate for working with MyISAM  tables, where transactions are not applicable. 

See Also commit, locking, read-only transaction, SQL, transaction, undo. 

availability 

 The ability to cope with, and if necessary recover from, failures on the host, including failures of MySQL, the operating system, or the hardware and maintenance activity that may otherwise cause downtime. Often paired with scalability  as critical aspects of a large-scale deployment. See Also scalability. 

## B 

B-tree 

 A tree data structure that is popular for use in database indexes. The structure is kept sorted at all times, enabling fast lookup for exact matches (equals operator) and ranges (for example, greater than, less than, and BETWEEN  operators). This type of index is available for most storage engines, such as InnoDB  and MyISAM . 

Because B-tree nodes can have many children, a B-tree is not the same as a binary tree, which is limited to 2 children per node. 

Contrast with hash index , which is only available in the MEMORY  storage engine. The MEMORY  storage engine can also use B-tree indexes, and you should choose B-tree indexes for MEMORY  tables if some queries use range operators. 

The use of the term B-tree is intended as a reference to the general class of index design. B-tree structures used by MySQL storage engines may be regarded as variants due to sophistications not present in a classic B-tree design. For related information, refer to the InnoDB  Page Structure Fil Header section of the MySQL Internals Manual. See Also hash index. 

backticks 

 Identifiers within MySQL SQL statements must be quoted using the backtick character ( ‘ ) if they contain special characters or reserved words. For example, to refer to a table named FOO#BAR  or a column named SELECT , you would specify the identifiers as ‘FOO#BAR‘  and ‘SELECT‘ . Since the backticks provide an extra level of safety, they are used extensively in program-generated SQL statements, where the identifier names might not be known in advance. 

Many other database systems use double quotation marks ( " ) around such special names. For portability, you can enable ANSI_QUOTES  mode in MySQL and use double quotation marks instead of backticks to qualify identifier names. See Also SQL. 

backup 

 The process of copying some or all table data and metadata from a MySQL instance, for safekeeping. Can also refer to the set of copied files. This is a crucial task for DBAs. The reverse of this process is the restore  operation. 

