PERFORMANCE and SIZE - Mailing list pgsql-performance

From Alfranio Junior
Subject PERFORMANCE and SIZE
Date
Msg-id 011d01c318be$997217f0$9002a8c0@ialfranio
Whole thread Raw
Responses Re: PERFORMANCE and SIZE
Re: PERFORMANCE and SIZE
List pgsql-performance
 Hello,

I'm a new PostgresSql user and I do not know so much about the
 performance mechanisms currently implemented and available.

 So, as a dummy user I think that something strange is happening with me.
 When I run the following command:

 explain analyze select * from customer
       where c_last = 'ROUGHTATION' and
       c_w_id = 1 and
       c_d_id = 1
       order by c_w_id, c_d_id, c_last, c_first limit 1;

 I receive the following results:

 (Customer table with 60.000 rows) -
                                                                QUERY PLAN
 ---------------------------------------------------------------------------
-----------------------------------------------------------
   Limit  (cost=4.84..4.84 rows=1 width=283) (actual time=213.13..213.13
 rows=0 loops=1)
     ->  Sort  (cost=4.84..4.84 rows=1 width=283) (actual
 time=213.13..213.13 rows=0 loops=1)
           Sort Key: c_w_id, c_d_id, c_last, c_first
           ->  Index Scan using pk_customer on customer  (cost=0.00..4.83
 rows=1 width=283) (actual time=211.93..211.93 rows=0 loops=1)
                 Index Cond: ((c_w_id = 1) AND (c_d_id = 1))
                 Filter: (c_last = 'ROUGHTATION'::bpchar)
   Total runtime: 213.29 msec
 (7 rows)


 (Customer table with 360.000 rows) -
                                                                 QUERY PLAN
 ---------------------------------------------------------------------------
-------------------------------------------------------------
   Limit  (cost=11100.99..11101.00 rows=1 width=638) (actual
 time=20.82..20.82 rows=0 loops=1)
     ->  Sort  (cost=11100.99..11101.00 rows=4 width=638) (actual
 time=20.81..20.81 rows=0 loops=1)
           Sort Key: c_w_id, c_d_id, c_last, c_first
           ->  Index Scan using pk_customer on customer
 (cost=0.00..11100.95 rows=4 width=638) (actual time=20.40..20.40 rows=0
 loops=1)
                 Index Cond: ((c_w_id = 1) AND (c_d_id = 1))
                 Filter: (c_last = 'ROUGHTATION'::bpchar)
   Total runtime: 21.11 msec
 (7 rows)

 Increasing the number of rows the total runtime decreases.
 The customer table has the following structure:
 CREATE TABLE customer
 (
      c_id int NOT NULL ,
      c_d_id int4 NOT NULL ,
      c_w_id int4 NOT NULL ,
      c_first char (16) NULL ,
      c_middle char (2) NULL ,
      c_last char (16) NULL ,
      c_street_1 char (20) NULL ,
      c_street_2 char (20) NULL ,
      c_city char (20) NULL ,
      c_state char (2) NULL ,
      c_zip char (9) NULL ,
      c_phone char (16) NULL ,
      c_since timestamp NULL ,
      c_credit char (2) NULL ,
      c_credit_lim numeric(12, 2) NULL ,
      c_discount numeric(4, 4) NULL ,
      c_balance numeric(12, 2) NULL ,
      c_ytd_payment numeric(12, 2) NULL ,
      c_payment_cnt int4 NULL ,
      c_delivery_cnt int4 NULL ,
      c_data text NULL
 );

 ALTER TABLE customer  ADD
      CONSTRAINT PK_customer PRIMARY KEY
      (
          c_w_id,
          c_d_id,
          c_id
      );

 Does anybody know what is happening ?


 Thanks !!!!

 Alfranio Junior


pgsql-performance by date:

Previous
From: "Lucas Adamski"
Date:
Subject: Re: Hack around lack of CORRESPONDING BY in EXCEPT?
Next
From: Adam Siegel
Date:
Subject: Re: [GENERAL] realtime data inserts