给定下面的 OrderLine 表:
OrderID OrderLineID
======= ===========
1 1
1 2
2 3
3 4
1 5
3 6
... ...
... ...
221 123 365 282
鉴于用户不时需要访问此信息,找到每个订单的 FIRST OrderLine 的最有效方法是什么?
这是我找到第一个 OrderLine 的 SQL,但每次执行大约需要 3~5 秒。(约 300k 行)
SELECT OrderID, MIN(OrderLineID)
FROM OrderLine
GROUP BY OrderID
当我需要找到第一个订单行以加入另一个表时,每次重复此操作非常昂贵。考虑到更改表结构不是一种选择,我有什么可能的解决方案来改进它?