Calcular tamaño de fila
Para cada fila de cada tabla, hay una sobrecarga fija de 24 bytes de rowid, createxid y deletexid. Si tiene columnas que admiten nulos, se necesita un vector de nulos y es N/8 bytes donde N es el número de columnas del registro. El sistema redondea el tamaño de este encabezad a un múltiplo de 4 bytes.
- Columna de tipo VARCHAR
- Columna de tipo CHAR donde la longitud es mayor de 16 (almacenado internamente como VARCHAR)
- Columna de tipo NCHAR
- Columna de tipo NVARCHAR
- Columna de tipo JSON
Utilizando la codificación UTF-8, cada punto de unidad Unicode puede requerir 1 - 4 bytes de almacenamiento. Una serie de 10 caracteres requiere 10 bytes de almacenamiento si es ASCII y hasta 20 bytes si es Latin, o hasta 40 bytes si es Kanji.
La única vez que un registro no contiene cabecera es si todas las columnas se definen como NOT NULL, no hay tipos de caracteres mayores de 16 bytes y no hay tipos de datos de caracteres variables.
| Crear XID | Suprimir XID | ID de fila | Vector de nulos | Longitud de registro | Column_1 …Columna_n |
|---|---|---|---|---|---|
| 8 bytes | 8 bytes | 8 bytes | N/8 bytes | 4 bytes | Número de bytes |