2011年7月15日

[pgsql-jp: 40859] Re:PostgreSQLにおける複合PKと複合INDEXの選択基準

2011/7/14 <nozawakz@xxxxx>:
> 下記のSQL(※)では、第1PK、第2PK、第3PKで一意に絞り込まれるため、複合PK(pk_t_z)を使っての実行計画が選択されることを
> 期待していたのですがExplain文で取得みると複合INDEX(idx_t_z_02)の方が選択されておりました。
> ? ?"pk_t_z" PRIMARY KEY, btree (a, b, c)
> ? ?"idx_t_z_02" btree (a, b, d)

(a, b) までで、十分な絞込みができると判断されたのだと思います。
インデックスの選択は、確かに絞込みが強いものが優先されることが

多いのですが、ほかにもインデックスのサイズが考慮されます。
pg_relation_size() などをつかって、pk_t_z と idx_t_z_02 の
ファイルサイズを比べてみてください。

--
Itagaki Takahiro

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




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