DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) innodb-physical-record

Info Catalog (mysql.info) innodb-adaptive-hash (mysql.info) table-and-index
 
 14.2.13.4 Physical Row Structure
 ................................
 
 Records in `InnoDB' tables have the following characteristics:
 
    * Each index record contains a six-byte header. The header is used
      to link together consecutive records, and also in row-level
      locking.
 
    * Records in the clustered index contain fields for all user-defined
      columns. In addition, there is a six-byte field for the
      transaction ID and a seven-byte field for the roll pointer.
 
    * If no primary key was defined for a table, each clustered index
      record also contains a six-byte row ID field.
 
    * Each secondary index record contains also all the fields defined
      for the clustered index key.
 
    * A record contains also a pointer to each field of the record. If
      the total length of the fields in a record is less than 128 bytes,
      the pointer is one byte; otherwise, two bytes. The array of these
      pointers is called the record directory. The area where these
      pointers point is called the data part of the record.
 
    * Internally, `InnoDB' stores fixed-length character columns such as
      `CHAR(10)' in a fixed-length format. `InnoDB' truncates trailing
      spaces from `VARCHAR' columns.  Note that MySQL may internally
      convert `CHAR' columns to `VARCHAR'. See 
      silent-column-changes.
 
    * An SQL `NULL' value reserves 1 or 2 bytes in the record directory.
      Besides that, an SQL `NULL' value reserves zero bytes in the data
      part of the record if stored in a variable length column. In a
      fixed-length column, it reserves the fixed length of the column in
      the data part of the record. The motivation behind reserving the
      fixed space for `NULL' values is that it enables an update of the
      column from `NULL' to a non-`NULL' value to be done in place
      without causing fragmentation of the index page.
 
Info Catalog (mysql.info) innodb-adaptive-hash (mysql.info) table-and-index
automatically generated byinfo2html