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
InnoDBa otra máquina -
15.10. Bloqueo y modelo de transacciones de
InnoDB -
-
15.10.1. Modos de bloqueo
InnoDB -
15.10.2.
InnoDByAUTOCOMMIT -
15.10.3.
InnoDByTRANSACTION ISOLATION LEVEL - 15.10.4. Lecturas consistentes que no bloquean
-
15.10.5. Bloquear lecturas
SELECT ... FOR UPDATEySELECT ... 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/.