0

非常に興味深い SQL クエリをテストしました。残念ながら、このクエリの実行は少し遅いことが判明しました - O(n2) - そして、最適化されたソリューションを探していますか、それともまったく異なるソリューションを探していますか?

ゴール:

We would like to get for:
 - some customers ("record_customer_id"), e.g. ID 5
     - the latest 2 "record_init_proc_id" 
       - for every "record_inventory_id"

http://www.sqlfiddle.com/#!9/07e5d/4

クエリは正常に動作し、正しい結果が表示されますが、スキャンする行が多すぎる場合はもちろん、少なくとも 2 つのフル テーブル スキャンが使用されます。

(a) 最初に特定の日付範囲内のすべての record_customer_id を選択し、そのクエリの結果を保存してから、(b) これらの保存された結果に対して SQL フィドルで作業クエリを実行することは可能ですか?

それとも、優れたパフォーマンスを発揮するまったく異なるアプローチがあるのでしょうか?

どんな助けでも大歓迎です!

4

1 に答える 1