----------------------------------------------
TABLE STRUCTURE
----------------------------------------------

CREATE TABLE gbobjects
(
  ssid bigint NOT NULL,
  nid character varying NOT NULL,
  inid bigint NOT NULL,
  uid bigint NOT NULL,
  status character varying,
  noofchanges integer NOT NULL,
  fieldschanged character varying[] NOT NULL,
  changetype bigint[] NOT NULL,
  noofcommits integer NOT NULL,
  noofchangesaftercommit integer NOT NULL,
  history bigint[] NOT NULL,
  gbtimestamp timestamp with time zone DEFAULT now(),
  rendered_nbh text,
  nbh text,
  CONSTRAINT gbobjects_pkey PRIMARY KEY (ssid)
)
WITH (OIDS=FALSE);
ALTER TABLE gbobjects OWNER TO postgres;


-- Index: nid_object

CREATE INDEX nid_object
  ON gbobjects
  USING btree
  (nid);


-------------------------------------------------------
using EXPLAIN
-------------------------------------------------------

We populated the table with data and used EXPLAIN


dbpedia=# EXPLAIN   SELECT   nid,max(ssid) FROM gbobjects  where ssid<=
100000  group by nid  ;

              QUERY PLAN
--------------------------------------------------------------------------------------------------
 GroupAggregate  (cost=20966.03..22944.49 rows=98923 width=27)
   ->  Sort  (cost=20966.03..21213.34 rows=98923 width=27)
         Sort Key: nid
         ->  Index Scan using ssid_object on gbobjects  (cost=0.00..10388.88
rows=98923 width=27)
               Index Cond: (ssid <= 100000)


Total rows : *875459 *


*The cost is very high. Is there a way to reduce the cost ?. We have kept
the
postgresql configuration files as it is i.e. they are the default
configuration
files.* Can the cost be reduced by changing some parameters in
postgresql.conf file. If yes which are those parameters ?

*Operating system used : ubuntu-9.04
postgresql version : 8.3
Ram : 2 GB
*

Thank you in advance
Rajiv nair

Reply via email to