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.  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.  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.  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.  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.  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.  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 optimistic optimizer option option file overflow page P .par file 6173