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

mysql:rendimiento de creación de filas frente a columnas

Creo que la ventaja de almacenar más filas (es decir, normalizadas) depende de las consideraciones de diseño y mantenimiento frente al cambio.

Además, si las 140 columnas tienen el mismo significado o si difiere según el experimento, modelando correctamente los datos de acuerdo con las reglas de normalización, es decir, cómo se relacionan los datos con una clave candidata.

En cuanto al rendimiento, si se utilizan todas las columnas, la diferencia es muy pequeña. A veces, una operación de pivote/despivote puede ser costosa para una gran cantidad de datos, pero hace poca diferencia en un patrón de acceso de una sola clave. A veces, un pivote en la base de datos puede hacer que su código de interfaz sea mucho más simple y que el código de fondo sea más flexible frente a los cambios.

Si tiene muchos valores NULL, podría ser posible eliminar filas en un diseño normalizado y esto ahorraría espacio. No sé si MySQL tiene soporte para un concepto de tabla dispersa, que podría entrar en juego allí.