mysql - soporta - myisam vs innodb performance
¿Por qué el motor MyISAM de MySQL no admite claves externas? (2)
Por favor, dígame: En esta situación, ¿qué motor debo usar para mejorar el rendimiento?
El rendimiento de cada motor de almacenamiento dependerá de las consultas que realice. Sin embargo, tenga en cuenta que diferentes tablas dentro de la misma base de datos pueden usar diferentes motores de almacenamiento.
¿Por qué el motor MyISAM no admite la relación de clave externa e InnoDB?
Como se documenta en las diferencias de clave externa :
En una etapa posterior, también se implementarán restricciones de clave foránea para las tablas
MyISAM
.Por lo tanto, las restricciones de clave externa simplemente aún no se han implementado en
MyISAM
.
EDITAR : A medida que ese comentario se elimina de los documentos, parece que ya no está previsto implementar restricciones de clave externa en el motor MyISAM
.
¿Por qué el motor MyISAM admite búsquedas de texto completo e InnoDB no?
Como se documenta en Lo nuevo en MySQL 5.6 :
Puede crear índices
FULLTEXT
en tablasInnoDB
y consultarlos usando la sintaxisMATCH() ... AGAINST
.Por lo tanto, la búsqueda de texto completo se ha implementado en
InnoDB
partir de MySQL 5.6.
Estoy escribiendo una aplicación web para mis estudios que incluye búsqueda de texto completo y claves externas.
He leído en alguna parte, el motor MyISAM es adecuado para la búsqueda de texto completo e InnoDB para las claves externas.
En esta situación, ¿qué motor debo usar para obtener el mejor rendimiento?
- ¿Por qué MyISAM no admite la relación de clave externa pero InnoDB sí?
- ¿Por qué MyISAM admite la búsqueda de texto completo pero InnoDB no?
Recuerdo los momentos en que mysql solo tenía myisam e innodedb estaba en desarrollo. MyIsam no tiene claves externas porque es un sistema antiguo que no admite relaciones en la base de datos. ¡Nunca usará llaves foráneas! Para usarlo tienes innodb. Si no necesita todas las cosas, como las relaciones en DB, use MyISAM para obtener un mejor rendimiento.