[pgsql-jp: 30287] 追加 Re: indexを使用しない/ 使用する違いは?
Genshirou Taki
g_taki @ max-corporation.com
2003年 6月 30日 (月) 20:22:45 JST
g_takiです。
環境Bにて、psqlで接続して、
\di を行ったところ、
indexは作られていることは確認しました。
On Mon, 30 Jun 2003 20:19:06 +0900
Genshirou Taki <g_taki @ max-corporation.com> wrote:
> g_takiです。
>
> サーバの環境によって、同じSQL文でもindexを使わない場合があるのでしょうか?
>
> 2箇所の異なった環境に、同じSQLで発行したTableなどがあり、
> explain を行ったところ、環境Aでは、indexを使用していると表示されたのです
> が、環境Bではindexを使用していませんでした。
>
> vacuumdb -a -f -z を行っても結果は同じでした。
>
> この例では3千件程度ですが、100万件以上のデータを投入する予定なので、
> そのときのパフォーマンス低下が気になります。
>
>
> 環境A Pentium II 400MHz
> Memory 384MB
> Postgres 7.3.3
> Solaris 9 IA
> gcc-3.2.3
>
> 環境B Pentium III 1GHz 以上(正確なところは不明)
> Memory 1GB
> Postgres 7.2.2
> Tourbo Linux (バージョン不明)
> コンパイラ不明
>
> テーブル作成に使用したSQL文
> create table haisyutu_map(
> id_area integer,
> id_material integer,
> img_total integer,
> img_todokede integer,
> img_todokedegai integer,
> img_taisyou integer,
> img_hitaisyou integer,
> img_katei integer,
> img_idou integer,
> img_noudo integer,
> primary key(id_area, id_material)
> );
>
> explain時のSQL文
> explain select * from haisyutu_map WHERE id_area = 80;
>
> 環境Aの結果
> Index Scan using haisyutu_map_pkey on haisyutu_map (cost=0.00..17.07
> rows=5 width=40)
> Index Cond: (id_area = 80)
>
>
> 環境Bの結果
> Seq Scan on haisyutu_map (cost=0.00..78.25 rows=353 width=40)
>
>
> --
> Genshirou Taki <g_taki @ max-corporation.com>
>
--
Genshirou Taki <g_taki @ max-corporation.com>
pgsql-jp メーリングリストの案内