Trovo che sto usando molte query di join, soprattutto per ottenere statistiche sulle operazioni degli utenti dal mio database. Le query di questo tipo non sono rari:Unisciti alle query e quando è troppo
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 ...
mia app non è ancora attivo, quindi non ho modo di giudicare se queste query saranno computazionalmente proibitivo nella vita reale. La mia query:
- C'è un limite a quando si fanno troppi "join" è troppo, e può essere descritto senza ottenere statistiche di funzionamento della vita reale?
- Quali sono le mie alternative? Ad esempio, è meglio creare solo tabelle aggiuntive per contenere le statistiche che sono aggiornate mentre vado, piuttosto che riunire diverse origini di tabelle ogni volta che voglio le statistiche?
I join a tre vie non sono affatto insoliti. Le app del mondo reale possono diventare molto più grandi di così, facilmente. –
Le risposte che state assumendo presuppongono che questi join vengano eseguiti all'interno di SQL. È importante quando si lavora con LinqToSql per verificare le query effettive inviate per assicurarsi di non aver inavvertitamente sollevato l'elaborazione sul client. – hemp