[pgsql-jp: 37444] Re: SQLの実行速度について
Kiyoshi Mizuno
kiyoshi_mizuno @ mail.toyota.co.jp
2006年 8月 22日 (火) 11:21:20 JST
水野です。
> -----Original Message-----
>
> ただ、クライアントより過去の日付の時点での状態をスナップショット
> のように見たい!という要望がありまして・・・(涙)
> この方法だと最新のデータには有効ですが、過去の時点での最新データ
> 検索時には適用できなくなってしまいます。
「フラグ方式が手っとり早いんじゃないかな?」とは考えていたのですが、
やはりそういう裏があったんですね。
複雑なSELECT文1個とUPDATE+簡単なSELECT文とでどちらが早いか
分かりませんが、中井さん案の改造版として
1.最新のデータが欲しい時
(0)フラグを落とす
(1)各商品のMAX(ID)にフラグを立てる
(2)フラグの立っているレコードを取得する
2.任意の時点のデータが欲しい時
(0)フラグを落とす
(1)WHERE句に日付条件を追加して各商品のMAX(ID)にフラグを立てる
(2)フラグの立っているレコードを取得する
というのはどうでしょう。
うまく書けば同一のSQL文で1も2も対応できると思いますが。
pgsql-jp メーリングリストの案内