crash, but not yet written into the  data files , are reconstructed from the  doublewrite buffer . When the database is shut down normally, this type of activity is performed during shutdown by the  purge  operation. During normal operation, committed data can be stored in the  change buffer  for a period of time before being written to the data files. There is always a tradeoff between keeping the data files up-to-date, which introduces performance overhead during normal operation, and buffering the data, which can make shutdown and crash recovery take longer. See Also change buffer, commit, crash, data files, doublewrite buffer, InnoDB, purge, redo log.  Acronym for “create, read, update, delete” , a common sequence of operations in database applications. Often denotes a class of applications with relatively simple database usage (basic  DDL ,  DML  and  query  statements in SQL ) that can be implemented quickly in any language. See Also DDL, DML, query, SQL.  An internal MySQL data structure that represents the result set of an SQL statement. Often used with  prepared statements  and  dynamic SQL . It works like an iterator in other high-level languages, producing each value from the result set as requested. Although SQL usually handles the processing of cursors for you, you might delve into the inner workings when dealing with performance-critical code. See Also dynamic SQL, prepared statement, query. data definition language See DDL.  Metadata that keeps track of database objects such as  tables ,  indexes , and table  columns . For the MySQL data dictionary, introduced in MySQL 8.0, metadata is physically located in  InnoDB file-per-table  tablespace files in the  mysql  database directory. For the  InnoDB  data dictionary, metadata is physically located in the  InnoDB system tablespace . Because the  MySQL Enterprise Backup  product always backs up the  InnoDB  system tablespace, all backups include the contents of the  InnoDB  data dictionary. See Also column, file-per-table, .frm file, index, MySQL Enterprise Backup, system tablespace, table.  The directory under which each MySQL  instance  keeps the  data files  for  InnoDB  and the directories representing individual databases. Controlled by the  datadir  configuration option. See Also data files, instance.  The files that physically contain  table  and  index  data. The  InnoDB system tablespace , which holds the  InnoDB data dictionary  and is capable of holding data for multiple  InnoDB  tables, is represented by one or more  .ibdata  data files. File-per-table tablespaces, which hold data for a single  InnoDB  table, are represented by a  .ibd  data file. General tablespaces (introduced in MySQL 5.7.6), which can hold data for multiple  InnoDB  tables, are also represented by a  .ibd  data file. See Also data dictionary, file-per-table, general tablespace, .ibd file, ibdata file, index, system tablespace, table, tablespace. 6145 data files data directory data dictionary D cursor CRUD