以下哪项查询效果更好?它们都有相同的结果。
有关架构的一些额外信息:JobId
保存在Employee
表中。 JobPermission
表格有一个UNIQUE
JobId
列(产生1-1关系)。
查询#1:
(from emp in db.Employees select emp.Job.JobPermissions).Single().Single()
查询#2:
(from emp in db.Employees join job in db.Jobs on emp.JobId equals job.JobId join permission in db.JobPermissions on job.JobId equals permission.JobId where emp.EmployeeId == empId select permission).Single()
我已经在本地和远程测量了查询执行时间,但结果是不可预测的。他们之间的差异在99%的时间内是微不足道的(~0.01s)。
#1查询的可读性是否超过可能的性能差异?