加入查询以及何时过多

Tes*_*123 6 c# sql linq-to-sql

我发现我使用了很多连接查询,尤其是从我的数据库中获取有关用户操作的统计信息.像这样的查询并不罕见:

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 ...
Run Code Online (Sandbox Code Playgroud)

我的应用程序仍然不活跃,所以我无法判断这些查询在现实生活中是否会在计算上受到限制.我的查询:

  1. 是否存在太多"连接"过多的限制,并且可以在不获取真实运行统计数据的情况下进行描述?
  2. 我有什么选择?例如,最好是创建其他表来保存我随时更新的统计信息,而不是每次我想要统计时将不同的表源都汇总在一起?

Joh*_*ell 13

如果您没有性能信息,请不要进行优化.

过早优化是万恶之源.

1)我认为你不会达到"限制".2)这称为非正规化,如果您不知道是否存在问题,则过早非规范化就是浪费精力.

我说你的查询看起来很正常.