MYSQL tres motores de almacenamiento

1. Motor de almacenamiento InnoDB

InnoDB proporciona capacidades de procesamiento de transacciones , reversión , reparación de fallas y seguridad de transacciones de control de concurrencia de múltiples versiones para tablas MySQL . Incluya InnnoDB en MySQL a partir de 3.23.34a. Es el primer motor de tabla en MySQL que proporciona restricciones de clave externa. Y la capacidad de InnoDB para manejar transacciones también es incomparable con otros motores de almacenamiento. El motor de almacenamiento predeterminado para versiones posteriores de MySQL es InnoDB.

El motor de almacenamiento InnoDB siempre admite AUTO_INCREMENT . El valor de la columna de incremento automático no puede estar vacío, y el valor debe ser único. MySQL especifica que las columnas de auto-incremento deben ser claves primarias. Al insertar un valor, si la columna de incremento automático no ingresa un valor, el valor insertado es el valor de incremento automático; si el valor ingresado es 0 o NULL, el valor insertado también es el valor de incremento automático; si inserta Un cierto valor, y el valor no ha aparecido antes, se puede insertar directamente.

InnoDB también admite claves foráneas (CLAVE EXTRANJERA) . La tabla donde se encuentra la clave externa se denomina tabla secundaria, y la tabla de la que depende la clave externa (REFERENCIAS) se denomina tabla primaria. Los campos de la tabla primaria relacionados con la clave externa de la tabla de palabras deben ser la clave primaria. Al eliminar o actualizar una información en la tabla primaria, la tabla secundaria también debe cambiarse en consecuencia, esta es la regla de integridad referencial de la base de datos .

En InnoDB, la estructura de la tabla creada se almacena en el archivo .frm (creo que es la abreviatura de frame). Los datos e índices se almacenan en los espacios de tabla definidos por innodb_data_home_dir e innodb_data_file_path.

La ventaja de InnoDB es que proporciona un buen procesamiento de transacciones, capacidades de reparación de fallas y control de concurrencia. La desventaja es que la eficiencia de lectura y escritura es pobre, y el espacio de datos ocupado es relativamente grande.

2. Motor de almacenamiento MyISAM

MyISAM es un motor de almacenamiento común en MySQL y solía ser el motor de almacenamiento predeterminado de MySQL. MyISAM está desarrollado en base al motor ISAM, agregando muchas extensiones útiles.

La tabla MyISAM se almacena como 3 archivos. El nombre del archivo es el mismo que el nombre de la tabla. La extensión se llama frm , MYD , MYI . De hecho, la estructura de la tabla de almacenamiento de archivos frm; los datos de almacenamiento de archivos MYD son una abreviatura de MYData; el índice de almacenamiento de archivos MYI es una abreviatura de MYIndex.

Las tablas basadas en el motor de almacenamiento MyISAM admiten 3 formatos de almacenamiento diferentes. Incluyendo tipo estático, tipo dinámico y tipo de compresión. Entre ellos, el tipo estático es el formato de almacenamiento predeterminado de MyISAM, y sus campos son de longitud fija; el tipo dinámico contiene campos de longitud variable y la longitud del registro no es fija; el tipo comprimido requiere el uso de la herramienta myisampack, que ocupa menos espacio en disco.

Las ventajas de MyISAM son su pequeño tamaño y su rápida velocidad de procesamiento. La desventaja es que no es compatible con la integridad y la concurrencia de las transacciones.

3. motor de almacenamiento de memoria

MEMORY es un tipo especial de motor de almacenamiento en MySQL. Utiliza el contenido almacenado en la memoria para crear tablas, y todos los datos se colocan en la memoria . Estas características son muy diferentes de las dos anteriores.

Cada tabla basada en el motor de almacenamiento MEMORY corresponde en realidad a un archivo de disco. El nombre del archivo es el mismo que el nombre de la tabla, y el tipo es tipo frm . Solo la estructura de la tabla se almacena en este archivo. Los archivos de datos se almacenan en la memoria, lo que conduce al procesamiento rápido de datos y mejora la eficiencia de toda la tabla. Vale la pena señalar que el servidor necesita tener suficiente memoria para mantener el uso de las tablas del motor de almacenamiento MEMORY. Si ya no es necesario, puede liberar memoria e incluso eliminar tablas innecesarias.

MEMORY usa índices hash por defecto. Es más rápido que usar un índice B-tree. Por supuesto, si desea utilizar el índice de árbol de tipo B, puede especificarlo al crear el índice.

Tenga en cuenta que MEMORIA rara vez se usa, porque es para almacenar datos en la memoria, si la memoria es anormal, afectará los datos. Si reinicia o apaga, todos los datos desaparecerán. Por lo tanto, el ciclo de vida de una tabla basada en MEMORY es muy corto, generalmente único.

(Referencia:  https://www.cnblogs.com/icebutterfly/p/9553929.html     )

 

Supongo que te gusta

Origin www.cnblogs.com/0error0warning/p/12723936.html
Recomendado
Clasificación