首页 > 解决方案 > 如何有效地计算至少 1 行

问题描述

我有一个非常大的表,将来自许多接口的数据存储到一个设备,如果所有接口都运行良好,1 天内会收到数百万行,该表是一个视图,因此没有索引键。

Interface   Equip   Readtime
a           HA55    01/01/2021 00:02
b           HA56    01/01/2021 00:05
c           HA55    01/01/2021 00:41
a           HA56    01/02/2021 01:23
a           HA57    01/02/2021 04:00
b           HA54    01/01/2021 05:12

我想每天扫描一次,如果所有设备至少从 1 个接口接收到数据,则从前一天开始扫描,但是表中有很多行,即使是 select * where day=yesterday 也需要很长时间才能执行。

那么有没有一种有效的方法来计算一个设备的一个接口,然后停止并搜索另一个接口?

标签: sqlsql-server

解决方案


一个过分的例子可能是......

SELECT
  CASE WHEN EXISTS(
              SELECT *
                FROM yourTable
               WHERE <somecondition>
            )
       THEN 1 ELSE 0 END

推荐阅读