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

Modelo de valor de atributo de entidad:¿alternativa de rendimiento?

Primero , a veces este modelo facilita mucho la consulta de datos. Hice una pregunta hace un par de días aquí y algunos usuarios sugirieron por qué no cambié mi modelo a un formulario 1NF para facilitar la consulta de datos. Solo cuando se dieron cuenta de que estaba atascado con este diseño, proporcionaron algunas respuestas a la pregunta. El punto es que tuve la suerte de tener solo 12 columnas para resumir; de lo contrario, si mi tabla contenía 300 columnas, quizás ningún usuario se molestó en escribir una consulta para ese problema. :-)

Segundo , en ocasiones la implementación de este diseño es más sencilla debido a algunas limitaciones impuestas naturalmente por las bases de datos. Si su meta_key los valores contienen algunos valores largos de más de 30 caracteres, o tiene que acortar los valores y hacer el mapeo en alguna parte o esta sería posiblemente la única opción que podría tener.

Finalmente , el rendimiento es muy importante; eso es cierto. Pero, por otro lado, existen ciertas técnicas que podrías aplicar para mejorar el rendimiento; por ejemplo, mediante la creación de índices adecuados, tablas de partición, etc.

En este caso, los tamaños de la mesa son muy pequeños. Por lo tanto, a menos que sus consultas sean muy complicadas, como tener cálculos pesados ​​y uniones y agregaciones complicadas, y si la aplicación no es sensible a fracciones de tiempo pequeñas, supongo que no sufrirá por el rendimiento si adopta este modelo.

Al final , si aún está demasiado preocupado por el rendimiento, le sugiero que cree ambos modelos, los rellene con algunos datos aleatorios o reales y analice los costos del plan para ver qué modelo se adapta mejor a sus necesidades.