[pgsql-jp: 37067] Re: Re^2: SELECT の性能
河本陽一
komoto.yoichi @ kcc.co.jp
2006年 5月 17日 (水) 16:57:03 JST
こうもとです。
河本陽一 さんの書いたこと:
> > 手元の計測結果を見ると、7.2.4から8.0.xにすると副問い合わ
> > せが6倍早くなり、福問い合わせになり幸せです。(^^;
>
> そういうパターンもあるのですね。
> バージョンアップをきちんと考えてみることにします。
とりあえず、試験用のVMを8.1.3にしてみました。
効果覿面です!
例によって、EXPLAIN ANALYZEの結果です。
# EXPLAIN ANALYZE SELECT * FROM t1 JOIN t2 USING(f1) WHERE f2='xxx' AND f3=0 AND t1.f4=false AND f5 IS NOT NULL ORDER BY f6 DESC LIMIT 300;
-----------------------------------------------------------------------
Limit (cost=1819.08..1819.83 rows=300 width=33) (actual time=84.593..119.630 rows=300 loops=1)
-> Sort (cost=1819.08..1820.40 rows=528 width=33) (actual time=84.514..96.784 rows=300 loops=1)
Sort Key: t1.f6
-> Nested Loop (cost=2.85..1795.20 rows=528 width=33) (actual time=0.437..63.754 rows=509 loops=1)
-> Seq Scan on t2 (cost=0.00..5.25 rows=3 width=13) (actual time=0.069..0.264 rows=3 loops=1)
Filter: (f2 = 'xxx'::text)
-> Bitmap Heap Scan on t1 (cost=2.85..593.62 rows=242 width=24) (actual time=0.180..7.319 rows=170 loops=3)
Recheck Cond: (t1.f1 = "outer".f1)
Filter: ((f3 = 0) AND (NOT f4) AND (f5 IS NOT NULL))
-> Bitmap Index Scan on t1_pkey (cost=0.00..2.85 rows=242 width=0) (actual time=0.094..0.094 rows=185 loops=3)
Index Cond: (t1.f1 = "outer".f1)
Total runtime: 132.204 ms
なにか、新しい検索方法を使用しているようです。
これだけ性能の差があるのなら、多少の面倒はあってもバージョンアップ
することにします。
======================================================================
河本陽一(こうもとよういち)
mailto:komoto.yoichi @ kcc.co.jp
pgsql-jp メーリングリストの案内