[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 メーリングリストの案内