Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
Cargando

Autor Tema: Duda de eficiencia  (Leído 299 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xxfinexx

  • Ladrón de espacio en la BD [L0]
  • *
  • Topic Author
  • Mensajes: 3
    • Ver Perfil
Duda de eficiencia
« en: Junio 25, 2012, 02:28:16 am »
Hola comunidad, que tal?
Estoy haciendo un trabajo para la facu. El sistema se trata de ofrecer servicios, o sea, un usuario puede ofrecer servicios y otros usuarios pueden calificar sus servicios.


Estamos usando Mysql como motor de Base de datos, y .net como plataforma de desarrollo.


El tema es el siguiente:
La calificacion del usuario que ofrece servicios, es el promedio de calificaciones del total de sus servicios.
Mi duda es, por ejemplo, que sería mas eficiente?


1) en la clase servicio tener dos atributos que sean


int cantidadCalificaciones;
int promedioCalificaciones;


y que se actualicen cada vez que se agrega una calificacion. Para no tener que hacer una operacion obtenerCalificacion() y que cada vez que se invoque, se tenga que recorrer todas las calificaciones.


2)  Tener la operación obtenerCalificacion() y que cada vez que se invoque haga todos los calculos recorriendo todas las calificaciones. (Teniendo en cuenta que pueden ser muchas calificaciones)




Si alguien tiene algún material o tiene el tema medio claro, le agradecería que me pueda dar una mano.


Saludos!!

Conectado ravenheart

  • Residente de Hack x Crack [L4]
  • ****
  • Mensajes: 322
  • No quiero preguntas técnicas por privado, gracias.
    • Ver Perfil
Re:Duda de eficiencia
« Respuesta #1 en: Junio 25, 2012, 11:51:36 pm »
Pues depende de los requisitos de la aplicación.

El rendimiento seguramente será más que suficiente con la opción 1, y el rendimiento percibido será generalmente mayor, aunque para algunos casos puede ser necesario ir a la opción 2, o a un término intermedio entre ambas.

Lo más probable es que no necesites preocuparte de esto: usa la que más sencilla sea de programar y si tienes problemas piensa qué estás haciendo mal.

You do not need hope if you have drama to back you up.

Desconectado xxfinexx

  • Ladrón de espacio en la BD [L0]
  • *
  • Topic Author
  • Mensajes: 3
    • Ver Perfil
Re:Duda de eficiencia
« Respuesta #2 en: Junio 26, 2012, 02:22:06 am »
Gracias!

Conectado Facu

  • Administrador
  • *****
  • Mensajes: 1532
  • La piratería es un crimen. No ataque barcos.
    • Ver Perfil
Re:Duda de eficiencia
« Respuesta #3 en: Junio 28, 2012, 12:24:14 am »
Yo creo depende la cantidad de usuarios que vallan a utilizar el sistema...

Si la idea es que lo utilizen muchos usuarios, la primera opcion seria mas eficiente, de esta forma no se ejecutaria la funcion por cada usuario que entre a la web... Imagina que entraran 100 usuarios por minuto, la funcion se ejecutaria 100x60=6000 veces por hora...

La segunda opción es mejor para casos en que haya pocos usuarios, la función se ejecutaria solo en caso de que así se requiera y no cada x minutos/horas...

Saludos ;)
El guerrero de la luz a veces actúa como el agua, y
fuye entre los obstáculos que encuentra. En ciertos
momentos, resistir signifca ser destruido; entonces,
él se adapta a las circunstancias.
En esto reside la fuerza del agua. Jamás puede ser
quebrada por un martillo, ni herida por un cuchillo. La
más poderosa espada del mundo es incapaz de dejar una
cicatriz sobre su superfcie.
 Paulo Coelho