Esta es una discusión que yo y algunos de mis colegas están teniendo y pensé que vendría aquí y vería si hay un consenso general al respecto.
Básicamente se reduce a las siguientes 2 opiniones sobre las llamadas a la base de datos: 1. Haga una llamada grande para obtener todo lo que pueda necesitar para reducir la cantidad de llamadas a la base de datos 2. Haga llamadas separadas más pequeñas en función de lo que se solicita para reducir el tamaño de la base de datos. DB llama
Donde esto entra especialmente en juego es en el código común. Usaremos el ejemplo de una clase de Empleado, ya que es bastante sencillo.
Digamos que su clase de Empleado tiene 10 atributos de valor (nombre, apellido, fecha de contratación, etc.) y luego 2 atributos de clase ... 1 apuntando a una clase de Departamento y luego 1 supervisor que señala de nuevo a otro objeto Empleado.
En la mentalidad n. ° 1, haría una llamada que devuelva los datos del Empleado, así como los campos necesarios para completar los atributos del Departamento y del Supervisor ... o al menos los campos que se usan con más frecuencia de esos subobjetos.
En la mentalidad n. ° 2, solo llenaría el objeto Empleado al principio y luego solo los objetos Departamento y Supervisor si realmente se solicitan.
La postura de 2 es bastante directa ... minimice el tamaño de las solicitudes y cuántos objetos de la base de datos deben golpearse cada vez que se realiza una de esas solicitudes. La postura de # 1 es que incluso si se pudiera implementar correctamente, el simple hecho de que el código tendría que hacer múltiples conexiones va a causar más tensión en la conexión entre el servidor web y la base de datos en lugar de reducirlo.
La fuerza impulsora detrás de investigar esto es que la cantidad de tráfico entre nuestro servidor web y el servidor de base de datos se está descontrolando.