Me parece que estoy usando muchas consultas de combinación, especialmente para obtener estadísticas sobre operaciones de usuario de mi base de datos. Las consultas de este tipo no son infrecuentes:Unir consultas y cuando es demasiado
from io in db._Owners where io.tenantId == tenantId
join i in db._Instances on io.instanceId equals i.instanceId
join m in db._Machines on i.machineId equals m.machineId
select ...
Mi aplicación aún no está activo, por lo que no tengo manera de juzgar si estas consultas serán computacionalmente prohibitivo en la vida real. Mi consulta:
- ¿Hay un límite cuando hacer demasiadas 'combinaciones' es demasiado, y se puede describir sin obtener estadísticas de funcionamiento de la vida real?
- ¿Cuáles son mis alternativas? Por ejemplo, ¿es mejor simplemente crear tablas adicionales para guardar estadísticas que estoy actualizando a medida que avanzo, en lugar de juntar diferentes fuentes de tabla cada vez que quiero estadísticas?
Las uniones de tres vías no son inusuales. Las aplicaciones del mundo real pueden ser mucho más grandes que eso, fácilmente. –
Las respuestas que está recibiendo suponen que estas uniones se están ejecutando dentro de SQL. Al trabajar con LinqToSql, es importante que verifique las consultas reales enviadas para asegurarse de que no haya levantado inadvertidamente el procesamiento al cliente. – hemp