Re: PostgreSQL does CAST implicitely between int and adomain derived from int - Mailing list pgsql-performance

From Kevin Grittner
Subject Re: PostgreSQL does CAST implicitely between int and adomain derived from int
Date
Msg-id 4A964EE1020000250002A3E8@gw.wicourts.gov
Whole thread Raw
In response to Re: PostgreSQL does CAST implicitely between int and a domain derived from int  (Jean-Michel Pouré <jm@poure.com>)
Responses Re: PostgreSQL does CAST implicitely between int and adomain derived from int  (Jean-Michel Pouré <jm@poure.com>)
List pgsql-performance
>Jean-Michel Pouré<jm@poure.com> wrote:
> Does not show any result because of ROLLBACK;

Then you need to use a better tool to run it.  For example, in psql:

test=# create table t2 (c1 int not null);
CREATE TABLE
test=# insert into t2 select * from generate_series(1,10000);
INSERT 0 10000
test=# create unique index t2_c1 on t2 (c1);
CREATE INDEX
test=# explain analyze select count(*) from t2 where c1 between 200 and
400;
                                                      QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=47.77..47.78 rows=1 width=0) (actual
time=0.668..0.669 rows=1 loops=1)
   ->  Bitmap Heap Scan on t2  (cost=4.76..47.64 rows=50 width=0)
(actual time=0.091..0.380 rows=201 loops=1)
         Recheck Cond: ((c1 >= 200) AND (c1 <= 400))
         ->  Bitmap Index Scan on t2_c1  (cost=0.00..4.75 rows=50
width=0) (actual time=0.080..0.080 rows=201 loops=1)
               Index Cond: ((c1 >= 200) AND (c1 <= 400))
 Total runtime: 0.722 ms
(6 rows)

test=# begin transaction;
BEGIN
test=# drop index t2_c1;
DROP INDEX
test=# explain analyze select count(*) from t2 where c1 between 200 and
400;
                                               QUERY PLAN
--------------------------------------------------------------------------------------------------------
 Aggregate  (cost=190.50..190.51 rows=1 width=0) (actual
time=3.324..3.325 rows=1 loops=1)
   ->  Seq Scan on t2  (cost=0.00..190.00 rows=200 width=0) (actual
time=0.053..3.036 rows=201 loops=1)
         Filter: ((c1 >= 200) AND (c1 <= 400))
 Total runtime: 3.366 ms
(4 rows)

test=# rollback transaction;
ROLLBACK

-Kevin

pgsql-performance by date:

Previous
From: Jean-Michel Pouré
Date:
Subject: Re: PostgreSQL does CAST implicitely between int and adomain derived from int
Next
From: Jean-Michel Pouré
Date:
Subject: Re: PostgreSQL does CAST implicitely between int and adomain derived from int