Tengo una aplicación web que usa Guids como PK en la base de datos para un objeto Employee y un objeto Association.Transferencia de muchos objetos con IDs de guía al cliente
Una página en mi aplicación devuelve una gran cantidad de datos que muestran todas las asociaciones de las que todos los empleados pueden formar parte.
Así que ahora mismo, estoy enviando al cliente esencialmente un montón de objetos que se parecen:
{assocation_id: guid, employees: [guid1, guid2, ..., guidN]}
Resulta que muchos empleados pertenecen a muchas asociaciones, así que voy a enviar por el mismo GUID para esos empleados una y otra vez en estos diferentes objetos. Por ejemplo, es posible que envíe 30,000 guids totales en todas las asociaciones en algunos casos, de los cuales solo hay 500 empleados únicos.
me pregunto si vale la pena que me la construcción de una especie de índice de búsqueda que también le envío al cliente como
{ 1: Guid1, 2: Guid2 ... }
y la sustitución de todos los GUID de los objetos que envío abajo con esos enteros,
o si simplemente gzipping la respuesta lo comprimirá lo suficiente como para que este esfuerzo adicional no valga la pena?
Nota: no se deje atrapar por los detalles de si debería enviar 30,000 datos o no; esta no es mi elección y no hay nada que pueda hacer al respecto (y también puedo no cambie Guids a ints o longs en el DB).
¿Por qué no utiliza el método Linq Distinct()? ¿O usar DISTINCT en la consulta dbase? –
¿Por qué no enviar la lista de * asociación * por * empleados? – ydroneaud
Por más razones que el ancho de banda de respuesta, separaría los recursos anidados para este caso como usted sugiere. Puede usar solicitudes ajax separadas para ellos, o cargarlas de forma diferida a pedido. – aceofspades