2009年7月 9日

[pgsql-jp: 39916] Re:1 回目のUPDATEが異常に遅い

板垣様

下記、ご教示ありがとうございます。
大変参考になりました。

今後ともよろしくお願いいたします。

以上


** 5月より電話番号が変わりました **
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/ 東芝ソリューション(株) 
_/  製造産業ソリューション事業部 産業ソリューション第二部
_/  産業システム技術第三担当    略称:(製造ジ)[産2S](産S3)
_/ 島田 洋一
_/ E-Mail : shimada.hirokazu@xxxxx
_/ TEL(勤務先) : 042-340-6642 FAX(勤務先) : 042-340-6017
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

pgsql-jp-bounces@xxxxx wrote on 2009/07/08 17:54:03:

>
> Shimada.Hirokazu@xxxxx wrote:
>
> > > 「列::date = NOW()::timestamp」の比較だと、date → timestamp の
> > > 変換が優先されるので、インデックスが使われません。
> >
> > NOW()はtimestamptz型で、date型やtimestamp型とではindexが利用されな
> いようでした。
> > ちなみに「timestamp型=date型」の場合は、なぜかindexが利用されました。
>
> 一部例外もありますが、インデックスが使われるかどうかは、
> ↓のような法則があります。キャストも関数だと考えてください。
>
> インデックスが...
> パターン1 : 列 = 定数 → 使われる。
> パターン2 : 列 = 関数(定数) → 使われる。「関数(定数)」の結果は定数な
ので。
> パターン3 : 関数(列) = 定数 → 使われない。
>
> 自動キャストは、パターン3 の状態になりやすいので、扱いづらい機能です。
> 結果自体は正しいので、データ量が少ないと見逃す可能性がありますし…。
>
> # 「自動キャストのためにインデックスが使えない場合は WARNING をあげる」
> # なんていうオプションがあると嬉しいのですけど ;-)
>
> ------------------------------------------------------------
> NTT オープンソース ソフトウェア センタ
> 板垣貴裕 <itagaki.takahiro@xxxxx>
>
>


投稿者 xml-rpc : 2009年7月 9日 09:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86536
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。