Je trouve que j'utilise beaucoup de requêtes de jointure, en particulier pour obtenir des statistiques sur les opérations des utilisateurs à partir de ma base de données. Les requêtes de ce genre ne sont pas rares:Joindre des requêtes et quand c'est trop
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 ...
Mon application est toujours pas actif, donc je n'ai aucun moyen de juger si ces requêtes seront prohibitifs sur dans la vie réelle. Ma requête:
- Y a-t-il une limite à trop de «jointures»? Est-ce que cela peut être décrit sans avoir des statistiques de fonctionnement réelles?
- Quelles sont mes alternatives? Par exemple, est-il préférable de créer simplement des tables supplémentaires pour contenir des statistiques que je mets à jour au fur et à mesure, plutôt que de rassembler différentes sources de tables chaque fois que je veux des statistiques?
Les jointures à trois voies ne sont pas inhabituelles. Les applications du monde réel peuvent être beaucoup plus volumineuses, facilement. –
Les réponses que vous obtenez supposent que ces jointures sont exécutées dans SQL. Il est important lorsque vous travaillez avec LinqToSql que vous vérifiiez les requêtes réelles envoyées pour vous assurer que vous n'avez pas levé le traitement par inadvertance sur le client. – hemp