Tabla de contenidos
-
15.1. Panorámica de
InnoDB
-
15.2. Información de contacto de
InnoDB
-
15.3. Configuración de
InnoDB
-
15.4. Opciones de arranque de
InnoDB
-
15.5. Crear el espacio de tablas
InnoDB
-
15.6. Crear tablas
InnoDB
-
15.7. Añadir y suprimir registros y ficheros de datos
InnoDB
-
15.8. Hacer una copia de seguridad y recuperar una base de datos
InnoDB
-
15.9. Trasladar una base de datos
InnoDB
a otra máquina -
15.10. Bloqueo y modelo de transacciones de
InnoDB
-
-
15.10.1. Modos de bloqueo
InnoDB
-
15.10.2.
InnoDB
yAUTOCOMMIT
-
15.10.3.
InnoDB
yTRANSACTION ISOLATION LEVEL
- 15.10.4. Lecturas consistentes que no bloquean
-
15.10.5. Bloquear lecturas
SELECT ... FOR UPDATE
ySELECT ... LOCK IN SHARE MODE
- 15.10.6. Bloqueo de la próxima clave (Next-Key Locking): evitar el problema fantasma
-
15.10.7. Un ejemplo de lectura consistente en
InnoDB
-
15.10.8. Establecimiento de bloqueos con diferentes sentencias SQL en
InnoDB
- 15.10.9. ¿Cuándo ejecuta o deshace implicitamente MySQL una transacción?
- 15.10.10. Detección de interbloqueos (deadlocks) y cancelación de transacciones (rollbacks)
- 15.10.11. Cómo tratar con interbloqueos
-
15.10.1. Modos de bloqueo
-
15.11. Consejos de afinamiento del rendimiento de
InnoDB
- 15.12. Implementación de multiversión
- 15.13. Estructuras de tabla y de índice
- 15.14. Gestión de espacio de ficheros y de E/S de disco (Disk I/O)
- 15.15. Tratamiento de errores de InnoDB
-
15.16. Restricciones de las tablas
InnoDB
-
15.17. Resolver problemas relacionados con
InnoDB
InnoDB
dota a MySQL de un motor de
almacenamiento transaccional (conforme a ACID
)
con capacidades de commit (confirmación), rollback (cancelación) y
recuperación de fallas. InnoDB
realiza
bloqueos a nivel de fila y también porporciona funciones de
lectura consistente sin bloqueo al estilo Oracle en sentencias
SELECT
. Estas características incrementan el
rendimiento y la capacidad de gestionar múltiples usuarios
simultáneos. No se necesita un bloqueo escalado en
InnoDB
porque los bloqueos a nivel de fila
ocupan muy poco espacio. InnoDB
también
soporta restricciones FOREIGN KEY
. En consultas
SQL, aún dentro de la misma consulta, pueden incluirse libremente
tablas del tipo InnoDB
con tablas de otros
tipos.
InnoDB
se diseñó para obtener el máximo
rendimiento al provesar grandes volúmenes de datos. Su eficiencia
en el uso de CPU probablemente no es igualada por ningún otro
motor de bases de datos relaciones en disco.
A pesar de estar totalmente integrado con el servidor MySQL, el
motor de almacenamiento InnoDB
mantiene su
propio pool de almacenamiento intermedio para tener un cache de
datos e índices en la memoria principal.
InnoDB
almacena sus tablas e índices en un
espacio de tablas, el cual puede consistir de varios ficheros (o
particiones disco). Esto difiere de, por ejemplo, el motor
MyISAM
, donde cada tabla se almacena empleando
ficheros separados. Las tablas InnoDB
pueden
ser de cualquier tamaño, aún en sistemas operativos donde el
tamaño de los ficheros se limita a 2GB.
En MySQL 5.0, InnoDB
viene incluido por defecto
en las distribuciones binarias. El instalador Windows Essentials
configura a InnoDB
como el tipo de base de
datos MySQL por defecto en Windows.
InnoDB
se utiliza en muchos grandes sitios de
bases de datos que necesitan alto rendimiento. El famoso sitio de
noticias de Internet Slashdot.org corre sobre
InnoDB
. Mytrix, Inc. almacena más de 1TB de
datos en InnoDB
, y otros sitios manejan una
carga promedio de 800 inserciones y actualizaciones por segundo en
InnoDB
.
InnoDB
se publica bajo la misma licencia GNU
GPL Versión 2 (de Junio de 1991) que MySQL. Para más
información sobre el licenciamiento de MySQL, consulte
http://www.mysql.com/company/legal/licensing/.