The details vary according to the type of operation. In some cases, the table can be modified concurrently while the ALTER TABLE  is in progress. The operation might be able to be performed without a table copy, or using a specially optimized type of table copy. DML log space usage for in-place operations is controlled by the innodb_online_alter_log_max_size  configuration option. 

This feature is an enhancement of the Fast Index Creation  feature in MySQL 5.5. 

See Also DDL, Fast Index Creation, online. 

## optimistic 

 A methodology that guides low-level implementation decisions for a relational database system. The requirements of performance and concurrency  in a relational database mean that operations must be started or dispatched quickly. The requirements of consistency and referential integrity  mean that any operation could fail: a transaction might be rolled back, a DML  operation could violate a constraint, a request for a lock could cause a deadlock, a network error could cause a timeout. An optimistic strategy is one that assumes most requests or attempts succeed, so that relatively little work is done to prepare for the failure case. When this assumption is true, the database does little unnecessary work; when requests do fail, extra work must be done to clean up and undo changes. 

InnoDB  uses optimistic strategies for operations such as locking  and commits . For example, data changed by a transaction can be written to the data files before the commit occurs, making the commit itself very fast, but requiring more work to undo the changes if the transaction is rolled back. 

The opposite of an optimistic strategy is a pessimistic  one, where a system is optimized to deal with operations that are unreliable and frequently unsuccessful. This methodology is rare in a database system, because so much care goes into choosing reliable hardware, networks, and algorithms. See Also commit, concurrency, DML, locking, pessimistic, referential integrity. 

## optimizer 

 The MySQL component that determines the best indexes  and join  order to use for a query , based on characteristics and data distribution of the relevant tables . 

See Also index, join, query, table. 

## option 

 A configuration parameter for MySQL, either stored in the option file  or passed on the command line. 

For the options  that apply to InnoDB  tables, each option name starts with the prefix innodb_ . 

See Also InnoDB, option, option file. 

## option file 

 The file that holds the configuration options  for the MySQL instance. Traditionally, on Linux and Unix this file is named my.cnf , and on Windows it is named my.ini . 

See Also configuration file, my.cnf, my.ini, option. 

## overflow page 

 Separately allocated disk pages  that hold variable-length columns (such as BLOB  and VARCHAR ) that are too long to fit on a B-tree  page. The associated columns are known as off-page columns . 

See Also B-tree, off-page column, page. 

## P 

## .par file 

 A file containing partition definitions. Files with this extension are included in backups produced by the mysqlbackup  command of the MySQL Enterprise Backup  product. 

With the introduction of native partitioning support for InnoDB  tables in MySQL 5.7.6, .par  files are no longer created for partitioned InnoDB  tables. Partitioned MyISAM  tables continue to use .par  files in MySQL 5.7. In 

