Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/12/2015, 16:35
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 1 mes
Puntos: 85
Respuesta: Duda sobre diseño de bbdd para aplicación

Hay pros y contras para cualquier opción, mucho depende del motor de base de datos que uses.

1. En el caso de ( ID_USUARIO, KEY, VALUE ) te favorece al momento de insertar, eliminar o modifcar valores para un usuario, ya que el bloqueo se puede hacer por fila y evitarias esperas cuando una sesión modifica el sueldo y otra sesión lee la nacionalidad. Pero te puede perjudicar al momento de leer todos los valores para un usuario dado ya que el motor debe devolver varias filas por usuario lo que implica una reducción en la eficiencia de los indices.

2. En el caso de COLUMNAS es lo opuesto, te perjudica en las sentencias DML y favorece en los SELECT, con una contra adicional, una tabla con muchas columnas puede generar filas migradas o encadenadas, esto es cuando una fila no entra en un bloque o pagina (unidad minima de almacenamiento) lo que produce una perdida de rendimiento en general para todas las operaciones sobre esa fila (DML y SELECT).


Saludos