我有一个这样的查询:
SELECT TOP(1000) UserId, Key, Value
FROM MyTable
WHERE Processed = 'false' ORDER BY TimeStamp"
我正在迭代结果并将数据导入外部系统。这相当慢,所以我想对结果集中的所有 1000 个项目并行运行这些操作。这只有在结果集中没有重复的 UserId 时才有可能。
我已经尝试在客户端上进行过滤,但我最终得到了一个集合,其中可能包含前 1000 个成员中的 400 个成员。这导致大量数据在不同的迭代中通过网络多次发送。
有没有办法构造我的查询,以便它返回前 1000 行,每个 UserId 只占用一行?它可能会返回稍新的记录,但我希望结果集中恰好有 1000 个唯一用户 ID。有没有这样的语法?