sql >> Base de Datos >  >> RDS >> Mysql

Motor de almacenamiento Mysql para tabla de registro

Bueno, según su pregunta, InnoDB debería hacer el trabajo porque:

  1. Su escalabilidad es mucho mejor que MyISAM
  2. Es de bloqueo de filas, por lo tanto, si va a tener más escrituras que selecciones, encaja mejor.
  3. Finalmente, dado que dijiste que rara vez se accederá a ellos, no hay necesidad de MyISAM ya que es mejor en consultas seleccionadas.

Consulte esto para obtener más información

EDITAR

Pues en el comentario preguntas por otros motores. Aquí hay una lista completa de motores Entre ellos, como dijiste, el archivo tiene una desventaja, los demás no se ajustan a tu solicitud. Aquí hay una cita del sitio web de MySQL:

InnoDB has been designed for maximum performance when processing large data volumes. 
Its CPU efficiency is probably not matched by any other disk-based relational database
engine.

Así que básicamente:

  1. Si va a usar MEMORIA, no lo haga, como dijo, no accederá mucho a los datos y su tabla crecerá demasiado. Necesitará mucha RAM para eso y cuando reinicie se perderán todos los datos.
  2. Si va a utilizar MyISAM, no lo haga, ya que está diseñado para tablas en las que las consultas de selección son más frecuentes que las de inserción y actualización.
  3. En cuanto al archivo, es su elección. Aquí es una comparación entre MyISAM y el archivo de una tabla de registro. Sin embargo, me quedaría con InnoDB.
  4. Ni siquiera mencionaré Merge, Blackhole, Example y otros motores. (No tengo mucho conocimiento sobre el motor CSV pero, por lo que he leído, no es un motor apropiado para este tipo de tabla.

Para ser honesto, solía pasar mucho tiempo antes de hacer un movimiento importante en la codificación. Investigué durante horas, tal vez durante días, sobre un tema para ver qué camino es el más apropiado. Te diré algo, investigar es bueno, pero después de un punto, si te impide trabajar, entonces debes parar, tomar un café y hacer tu elección de inmediato. Por lo tanto, simplemente pruebe el más apropiado para usted y, como experimentará, encontrará una forma aún mejor, probándolo usted mismo. Quiero decir, no creo que Facebook haya sido diseñado para tal volumen, pero a medida que creció, continuaron cambiando la estructura en consecuencia. Sin embargo, eso es lo que creo, puede que no sea la realidad :) De todos modos, espero que la información te ayude.

EDITAR 2013

A continuación, encontrará breves descripciones de los motores de almacenamiento MySQL integrados.

MiISAM

Estas tablas incluyen optimizaciones adicionales, como mecanismos avanzados de caché e indexación, que proporcionan un acceso rápido a los datos. Mediante el bloqueo a nivel de tabla, el motor de almacenamiento MyISAM proporciona operaciones simultáneas. Cuando el rendimiento de lectura es una preocupación, por lo general, MyISAM es la opción.

Memoria

También llamadas tablas de montón, las tablas de memoria son ideales para la recuperación rápida de datos de uso frecuente que rara vez se modifican (como códigos de países, códigos postales u otras tablas de búsqueda). Como sugiere el nombre, los datos se almacenan en la memoria y, por lo tanto, el acceso es mucho más rápido que los datos almacenados en discos. Una restricción importante para el uso de la memoria es que los datos son válidos durante la sesión de MySQL. Cuando falla o se apaga, se pierden datos.

InnoDB

Un caso en el que tendrá que usar este motor de almacenamiento es cuando necesite usar claves externas o transacciones. InnoDB es más concurrente que MyISAM ya que proporciona bloqueo a nivel de fila. El motor de almacenamiento es altamente confiable. Otro caso en el que querrá usar este almacenamiento es cuando tiene más escrituras que lecturas. Cuando escriba datos en la tabla con frecuencia, intente utilizar este almacenamiento, ya que es más concurrente que MyISAM.

Archivo

Está diseñado para almacenar grandes cantidades de datos en un formato comprimido. Uno de los casos de uso de este motor de almacenamiento es almacenar datos de archivo o históricos o registros de seguridad. La tabla no utiliza índices, por lo que no es una buena opción para la recuperación y el almacenamiento de datos diarios. Es bloqueo de nivel de fila y los datos se descomprimen sobre la marcha cuando se solicita. Además, no es posible modificar la tabla.

Combinar

Combinar se usa para 'combinar' tablas particionadas que residen en la misma máquina. Cuando divide una mesa grande en varias mesas más pequeñas y accede a ellas simultáneamente usando una tabla combinada, el mayor beneficio es su velocidad. Las búsquedas y clasificaciones se ejecutarán más rápido ya que hay menos datos en las tablas.