MySQL · Lección 06
¿Cómo organiza InnoDB la tabla y qué consecuencias tiene para la clave primaria?
La tabla se almacena ordenada en un B-tree por la clave primaria (índice agrupado) y cada índice secundario guarda en sus hojas el valor de la clave primaria; por eso una clave primaria grande agranda todos los índices y una aleatoria (como un UUID v4) provoca más divisiones de páginas que una secuencial
Una clave primaria aleatoria mejora la inserción porque reparte las filas por todo el índice y evita las divisiones de páginas
La tabla se guarda sin ningún orden y la clave primaria es solo un índice más, igual que cualquier índice secundario
Los índices secundarios apuntan directamente a la posición física de la fila en disco, así que el tamaño de la clave primaria no les afecta
MySQL · Lección 06
Completa el código
InnoDB almacena la tabla en un índice
Revisa: índice agrupado (clustered).
MySQL · Lección 06
¿Por qué buscar por un índice secundario puede necesitar dos recorridos de B-tree?
Pista: el índice secundario devuelve el valor de la clave primaria y luego hay que buscar la fila completa en el índice agrupado, salvo que sea de cobertura; por eso el tamaño de la clave primaria influye en todos los índices.
✓
¡Lección completada!
El índice agrupado de InnoDB y la clave primaria
0
XP ganado
3
Vidas restantes