iakioの日記 RSSフィード

2008-07-18

selfuncs.c

| 15:49 |  selfuncs.c - iakioの日記 を含むブックマーク はてなブックマーク -  selfuncs.c - iakioの日記

selfuncs.cを読んでます。むずかしい。

eqselでMCVに無い時は、(1 - MCVの合計 - nullfrac) / (ndistinct - MCVの数)となってるんだけど、neqselの場合は(1 - eqsel)になってる。NULLを考慮しなくていいのかなぁ。

=> SELECT * FROM t1;
   i
--------
      1
 <NULL>
 <NULL>
 <NULL>
(4 rows)

=> EXPLAIN ANALYZE SELECT * FROM t1 WHERE i = 1;
                                         QUERY PLAN
--------------------------------------------------------------------------------------------
 Seq Scan on t1  (cost=0.00..1.05 rows=1 width=4) (actual time=0.019..0.026 rows=1 loops=1)
   Filter: (i = 1)
 Total runtime: 0.087 ms
(3 rows)

=> EXPLAIN ANALYZE SELECT * FROM t1 WHERE i <> 1;
                                         QUERY PLAN
--------------------------------------------------------------------------------------------
 Seq Scan on t1  (cost=0.00..1.05 rows=4 width=4) (actual time=0.025..0.025 rows=0 loops=1)
   Filter: (i <> 1)
 Total runtime: 0.079 ms
(3 rows)

おかしい!手抜きだー!

トラックバック - http://postgresql.g.hatena.ne.jp/iakio/20080718