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

¿Cómo optimizar los índices de mysql para que las operaciones de INSERCIÓN se realicen rápidamente en una tabla grande con escrituras y lecturas frecuentes?

Escribir operaciones para una sola fila en una tabla de datos debería no tómese 5 segundos, independientemente del tamaño de la mesa.

¿Su índice agrupado se basa en el campo de marca de tiempo? Si no, debería ser así, para que no estés escribiendo en el medio de tu mesa en alguna parte. Además, asegúrese de estar utilizando tablas InnoDB:MyISAM no está optimizado para escrituras.

Yo propondría escribir en dos tablas:una tabla a largo plazo, una tabla de informes a corto plazo con poca o ninguna indexación, que luego se vuelca según sea necesario.

Otra solución sería usar Memcached o una base de datos en memoria para los datos de informes en vivo, de modo que no haya impacto en la base de datos de producción.

Un pensamiento más:¿exactamente qué tan "en vivo" debe ser cualquiera de estos informes? Tal vez recuperar una nueva lista de forma cronometrada en lugar de una vez para cada vista de página sería suficiente.