----------------------------------------------
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
--------------------------------------------------------------------------------------------------
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