No hay una gran solución general a la pregunta "¿Qué tan grande es demasiado grande" - tales preocupaciones son frecuentemente depende de lo que estás haciendo con sus datos y lo sus consideraciones de rendimiento son
Existen algunos límites fundamentales en el tamaño de las tablas. No puedes tener más de 1000 columnas. Sus registros no pueden ser más grandes que 8k cada uno. Estos límites cambian según el motor de la base de datos. (Los de aquí son para InnoDB.)
Parece que ha combinado varios conjuntos de datos diferentes en una sola tabla. Es probable que tenga algunos campos que le dicen a qué conjunto de datos pertenece este registro, junto con algunos campos de datos y alguna información de marca de tiempo. No es un registro muy amplio (a menos que esté registrando, por ejemplo, todos los parámetros de entrada de cada solicitud). Su problema principal será con selectividad. Indexar esta tabla de una manera significativa será un desafío. Si sus campos comunes pueden ser lo suficientemente selectivos como para poder usarlos para obtener los registros que desea sin consultar la tabla, eso será una gran ventaja. (Cf. escaneo de tabla)
Para tantos registros por día (básicamente, dos por segundo todo el día, y supongo que tiene un período de carga pico donde es mucho mayor), también querrá hacer Asegúrese de que específicamente vea las optimizaciones en mejorando la velocidad de inserción. Como regla general, más índices = inserciones más lentas. Si puede, considere archivar registros obsoletos a otra tabla por completo. En lugares de trabajo anteriores, hemos utilizado una estrategia de archivo del último mes, tres meses anteriores y seis meses anteriores, cada uno en tablas separadas. Otra idea es eliminar registros antiguos. Muchos entornos simplemente no necesitan información más allá de una fecha determinada. Continuar con los registros de hace tres meses a menudo es demasiado caro.
Por último, no olvide el almacenamiento físico de su mesa. Cuanto más delgados sean sus registros, menos IO física necesita ocurrir para leer (o para el caso, para insertar) un registro. Puede almacenar sus índices en un disco duro físico separado. Si hay una gran cantidad de datos redundantes en sus registros, almacenar la tabla comprimida podría ser un aumento de velocidad. Si tiene un poco de efectivo para quemar, considere el valor de una buena matriz RAID para dividir sus datos.
Por lo tanto, para responder a su pregunta básica: es un montón de registros, pero con una mirada cuidadosa hacia la afinación, no será un problema.
Gracias por toda la información. ¿Entonces está diciendo que 6 millones de mesas no deberían ser un problema si me ocupo de todos los demás detalles que mencionó? – Nathan
Estoy diciendo que es manejable si tiene cuidado de pensar en todas estas cosas. Es poco probable que el rendimiento sea realmente bueno, pero será lo suficientemente bueno. –