¿Qué es InnoDB
y MyISAM
en MySQL
?¿Qué es InnoDB y MyISAM en MySQL?
Respuesta
InnoDB
y MYISAM
, son motores de almacenamiento para MySQL
.
Estos dos difieren en su implementación de bloqueo: InnoDB
bloquea la fila en particular en la tabla, y MyISAM
bloquea la tabla completa MySQL
.
Puede especificar el tipo dando MYISAM
O InnoDB
mientras crea una tabla en DB.
Son motores de almacenamiento.
http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html
MyISAM: El motor de almacenamiento por defecto de MySQL y el que más se utiliza en Web, almacenamiento de datos y otros entornos de aplicación. MyISAM es compatible con todas las configuraciones de MySQL, y es el motor de almacenamiento predeterminado a menos que haya configurado MySQL para usar uno diferente de forma predeterminada.
InnoDB: Un motor de almacenamiento seguro para transacciones (compatible con ACID) para MySQL que tiene funciones de compromiso, retrotracción y recuperación de fallos para proteger los datos del usuario. El bloqueo de nivel de fila de InnoDB (sin escalar a bloqueos de granularidad más gruesos) y las lecturas de no bloqueo consistentes de estilo de Oracle aumentan la concurrencia y el rendimiento de múltiples usuarios. InnoDB almacena datos de usuario en índices agrupados para reducir la E/S en consultas comunes basadas en claves primarias. Para mantener la integridad de los datos, InnoDB también admite restricciones de integridad referencial de FOREIGN KEY.
Entonces, mientras instalamos MySQL, necesitamos especificar específicamente qué motor de almacenamiento usar como nuestra base de datos MySQL ? – user130561
Como mencioné en mi publicación, el valor predeterminado es MyISAM. Si desea utilizar las características de un motor de almacenamiento diferente, como INNODB, entonces sí, deberá especificarlo. Esto no se hace durante la instalación, sino que se realiza durante la creación de la tabla inicial. – mluebke
Pero según esto: - http://dev.mysql.com/doc/refman/5.7/en/storage-engines.html; El motor predeterminado es InnoDB. – Harsha
Tenga una mirada en
InnoDB es un motor de almacenamiento de MySQL, incluido de serie en todas las actuales binarios distribuidos por MySQL AB. Su mejora principal sobre otro almacenamiento motores disponibles para su uso con MySQL es soporte de transacciones ACID compatible
MyISAM es el motor de almacenamiento predeterminado para las versiones relacional sistema de gestión de base de datos MySQL antes de 5,5 1. Se basa en el código ISAM anterior pero tiene muchas extensiones útiles. La principal deficiencia de MyISAM es la ausencia de soporte de transacciones. Las versiones de MySQL 5.5 y posteriores tienen conmutadas al motor InnoDB a aseguran la integridad referencial restricciones y mayor concurrencia.
¿podemos usar ambos motores de almacenamiento al mismo tiempo para nuestra base de datos? – user130561
puede, porque para cada tabla puede definir un motor de almacenamiento diferente. otra pregunta es si deberías. en la documentación de mysql hay algunas explicaciones sobre este tema. – nano7
Quería agregar que tener la capacidad de especificar un motor de almacenamiento específico por mesa es uno de los puntos fuertes de MySQL (además de fácil de usar y buen rendimiento sin ajustes). Para todas las operaciones donde se necesitan transacciones, simplemente quédese con InnoDB. Sin embargo, MyISAM realmente puede acelerar las cosas cuando las transacciones no son necesarias en ciertas situaciones, y requiere menos espacio de disco y memoria RAM que InnoDB.
Dicho esto, InnoDB está mejorando todo el tiempo:
MyISAM no sigue ACID en comparación con InnoDB que sigue transacciones para mantener la integridad de los datos.
MyISAM soporta inserciones concurrentes: Si una tabla tiene bloques libres en el medio del archivo de datos, que se pueden insertar nuevas filas en que en el mismo tiempo que otros hilos están leyendo de la tabla. MySqlDoc
Por eso, MyISAM es más rápido y ocupa menos espacio. Por ejemplo, MySQL MyISAM Storage Engine no admite tranactions. constraints of MySQL MYISAM Se llama un poco concurrent-insert De manera predeterminada, la variable se establece en 1 y las inserciones concurrentes se manejan tal como se acaba de describir. Si se establece en 0, las inserciones simultáneas están deshabilitadas. Si se establece en 2, las inserciones simultáneas al final de la tabla están permitidas incluso para las tablas que tienen filas eliminadas. Se puede ejecutar una instrucción INSERT para agregar filas al final de la tabla con seleccionar al mismo tiempo si no hay agujeros/filas eliminadas en el medio de la tabla (en el momento de la inserción concurrente).
El nivel de aislamiento predeterminado og mysql InnoDB es "Read Repeatable". Para MyISAM, no hay transacción. InnoDB usa el bloqueo de nivel de fila, mientras que MyISAM solo puede usar el bloqueo de nivel de tabla, por eso InnoDB tiene la recuperación de bloqueo es mejor que MyISAM. Uno tiene que adquirir manualmente el bloqueo de nivel de tabla en MyISAM si uno quiere evitar los efectos de concurrencia.
InnoDB es el NO por defecto myisam https://dev.mysql.com/doc/refman/5.7/en/innodb-introduction.html "InnoDB es el motor de almacenamiento de MySQL por defecto. A menos que haya configurado un motor de almacenamiento predeterminado diferente, la emisión de una instrucción create table sin motor = cláusula crea una tabla InnoDB"
Verá, en 2010 el valor predeterminado puede haber sido diferente ... – mustaccio
- 1. MySQL - InnoDB vs MyISAM
- 2. mysql innodb vs myisam inserciones
- 3. Mysql: Insertar rendimiento INNODB vs MYISAM
- 4. ¿Debería siempre preferir MySQL InnoDB sobre MyISAM?
- 5. Diferencia de rendimiento entre Innodb y Myisam en Mysql
- 6. Mysql Search - InnoDB y transacciones vs MyISAM para búsqueda FULLTEXT
- 7. Cuando MyISAM es mejor que InnoDB?
- 8. Hibernate: Crear tablas Mysql InnoDB en lugar de MyISAM
- 9. Acelerando la conversión de MyISAM a InnoDB
- 10. No puedo convertir myISAM a innodb
- 11. ¿Cuál es el equivalente de InnoDB del key_buffer_size de MyISAM?
- 12. ¿cuál es la versión equivalente de MYISAM para el estado innodb espectáculo en MySQL
- 13. ¿Qué motor de base de datos MySQL es mejor para almacenar sesiones y datos de sesión: MyISAM o InnoDB?
- 14. Convirtiendo MyISAM a InnoDB. ¿Beneficioso? ¿Consecuencias?
- 15. Uso de una combinación de tablas InnoDB y MyIsam
- 16. ¿Cómo puedo determinar el tipo de base de datos mysql: si es InnoDB o MyISAM?
- 17. Mover tablas y datos de MySQL desde el motor de almacenamiento MyISAM a InnoDB
- 18. InnoDB contra MyISAM tiempo de consulta de inserción
- 19. mysql error 'TYPE = MyISAM'
- 20. ¿Por qué utilizar InnoDB sobre MySIAM
- 21. ¿Las declaraciones únicas de mysql son atómicas en MyISAM e InnoDB?
- 22. MySQL InnoDB: innodb_flush_method
- 23. Innodb y tablas temporales
- 24. ¿Cómo puedo encontrar si mi una mesa es MyISAM o InnoDB
- 25. ¿Cuánto más rápido se compara MyISAM con InnoDB?
- 26. Motor de base de datos MySQL: MyISAM for information_schema pero InnoDB para otras bases de datos
- 27. ¿Cómo puedo saber si una tabla mysql está utilizando myISAM o InnoDB Engine?
- 28. MySql - Convertir InnoDB a MyISAM Motor de almacenamiento de la base de datos
- 29. Cambiando el tipo de tabla de MyISAM a InnoDB
- 30. Vida sin transacciones (MyISAM)
Duplicado de [MySql: MyISAM vs. Inno DB!] (Http://stackoverflow.com/questions/277440/mysql-myisam-vs-inno-db), o puede elegir: http://stackoverflow.com/search? q = myisam + vs + innodb –
Es el motor de la base de datos ... http://www.kavoir.com/2009/09/mysql-engines-innodb-vs-myisam-a-comparison-of-pros- and-cons.html – Matthieu
¿podemos utilizar ambos motores de almacenamiento al mismo tiempo para nuestra base de datos? – user130561