Los registros de las tablas InnoDB tienen las
        siguientes características:
      
            Cada registro de índice en InnoDB
            contiene un encabezado de seis bytes. El encabezado se
            emplea para enlazar juntos registros consecutivos, y
            también en el bloqueo a nivel de fila.
          
Los registros en el índice agrupado contienen campos para todas las columnas definidas por el usuario. Adicionalmente, hay un campo de seis bytes para el IDentificador de transacción y un campo de siete bytes para el roll pointer.
Si no se definió una clave primaria para la tabla, cada registro de índice agrupado contiene también un campo de IDentificación de fila de seis bytes.
Cada registro de índice secundario contiene también todos los campos definidos para la clave del índice agrupado.
Un registro contiene además un puntero a cada campo del mismo. Si la longitud total de los campos en un registro es menos de 128 bytes, el puntero medirá un byte, de lo contrario, tendrá dos bytes de longitud. La matriz de estos punteros se conoce como el directorio de registros. El área a donde señalan estos punteros se denomina la parte de datos del registro.
            Internamente, InnoDB almacena las
            columnas de caracteres de longitud fija (como
            CHAR(10)) en un formato de longitud fija.
            InnoDB trunca los espacios sobrantes de
            las columnas VARCHAR. Nótese que MySQL
            puede convertir internamente columnas
            CHAR a VARCHAR.
            Consulte Sección 13.1.5.1, “Cambios tácitos en la especificación de columnas”.
          
            Un valor NULL SQL reserva 1 o 2 bytes en
            el directorio de registros. No reservará ningún byte en la
            parte de datos del registro si se lo almacena en una columna
            de longitud variable. En una columna de longitud fija,
            reservará en la parte de datos la longitud asignada a dicha
            columna. La razón por la que se reserva este espacio fijo a
            pesar de tratarse de un valor NULL, es
            que en el futuro se podrá insertar en su lugar un valor
            no-NULL sin provocar la fragmentación de
            la página de índice.
          
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

