我發現我使用了大量的連接查詢,特別是從我的數據庫中獲取有關用戶操作的統計信息。像這樣的查詢並不少見:加入查詢,當它太多
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 ...
我的應用程序仍然不活躍,所以我沒有,如果這些疑問將在現實生活中的計算望而卻步判斷的方式。我的查詢:
- 是否有限制太多'連接'太多了,可以這樣描述而沒有獲取真實生活中的操作數據?
- 我的替代品是什麼?例如,創建額外的表來保存我隨時更新的統計信息會更好嗎,而不是每次我需要統計信息時將不同的表源統一起來?
三路連接並不常見。很容易,真實世界的應用程序可以比這更大。 – 2010-06-30 21:26:40
您得到的所有答案都假設這些連接正在SQL內部執行。在使用LinqToSql時,驗證發送的實際查詢以確保您沒有無意中將處理解除到客戶端,這一點很重要。 – hemp 2010-06-30 21:32:01