以下の OrderLine テーブルがあるとします。
OrderID OrderLineID
======= ===========
1 1
1 2
2 3
3 4
1 5
3 6
... ...
... ...
221 123 365 282
ユーザーが時々この情報にアクセスする必要がある場合、各注文の最初の OrderLine を見つける最も効率的な方法は何ですか?
これは最初の OrderLine を見つけるための私の SQL ですが、毎回実行するのに約 3 ~ 5 秒かかります。(約30万行)
SELECT OrderID, MIN(OrderLineID)
FROM OrderLine
GROUP BY OrderID
別のテーブルと結合する最初のオーダーラインを見つける必要があるときに、毎回これを繰り返すのは非常にコストがかかります。テーブル構造を変更することはオプションではないことを考慮してください。これを改善するには、どのような解決策が必要ですか?