【发布时间】:2014-08-27 23:23:43
【问题描述】:
我有一个名为 values 的表,如下所示:
+-------+------------+-----------+----------+
|Id |DateTime |SensorId |Value |
+-------+------------+-----------+----------+
SensorId 是传感器详细信息表的外键。此值表中将有 10m+ 条记录。
我可以运行这个 sql 命令来返回每个 SensorId 的最新记录,它会在大约 0.3 秒内运行。
SELECT a.*
FROM Values as a
INNER JOIN (
SELECT SensorId, MAX(ID) maxId
FROM Values
GROUP BY SensorId
) b ON a.SensorId = b.SensorId
AND a.Id = b.maxId
ORDER BY a.SensorId ASC
如何在 c# 应用程序中实现与实体框架相同的输出,同时保持(或提高)性能?
【问题讨论】:
-
把它做成一个视图,把视图添加到EF中。
标签: c# sql asp.net-mvc linq entity-framework