[pgsql-jp: 37448] Re: SQLの実行速度について

Hisakazu Nakai nakai @ shinko.co.jp
2006年 8月 22日 (火) 13:44:32 JST


中井です。

ちょっとダサいですが、毎晩、最新フラグの立っている行のIDを
IDと日付だけの別の表にログをとる方法もあるかと思います。

Yoshio Kano wrote:
>> 更新の頻度がわからないのですが、最新データにフラグを付ける手も
>> あるんではないかと思ったのですがいかがでしょうか。
>> 最新のフラグを付けてinsertする前に、既存の最新のフラグを落とす
>> (update)するだけなので、そんなにコストも掛からないのではないか
>> と思います。もちろん最新フラグと商品IDにインデックスをつけます。
>
> 更新の頻度は高くありませんので、私も構造的に同様の事を考えました。
> 先に示しているSQLでWHERE句を指定すると検索速度が劇的に
> 速くなるという現象がありましたので。
> ※もちろんWHERE句の内容にもよります。
>  SELECT ... FROM
>  (SELECT MAX(id) AS id,itemid FROM history WHERE status=0
>   GROUP BY itemid ) AS t1
>  LEFT JOIN history AS t2 ON (t2.id = t1.id)
> 
> ただ、クライアントより過去の日付の時点での状態をスナップショット
> のように見たい!という要望がありまして・・・(涙)
> この方法だと最新のデータには有効ですが、過去の時点での最新データ
> 検索時には適用できなくなってしまいます。

-- 
-=-=-=-=  SHINKO ELECTRIC INDUSTRIES CO., LTD.           =-=-=-=-
=-=-=-=-    Research & Development Div.                  -=-=-=-=
-=-=-=-=      Infomation Technology Research Dept.       =-=-=-=-
=-=-=-=-  Name:Hisakazu Nakai          TEL:026-263-3922  -=-=-=-=
-=-=-=-=  Mail:nakai @ shinko.co.jp      FAX:026-263-4562  =-=-=-=-



pgsql-jp メーリングリストの案内