Re: [DOCS] Please Help: PostgreSQL Query Optimizer

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Anjan Kumar(dot) A(dot)" <anjankumar(at)cse(dot)iitb(dot)ac(dot)in>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [DOCS] Please Help: PostgreSQL Query Optimizer
Date: 2005-12-11 17:19:13
Message-ID: 17378.1134321553@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-benchmarks pgsql-chat pgsql-docs pgsql-hackers

[ trimming cc list to something sane ]

"Anjan Kumar. A." <anjankumar(at)cse(dot)iitb(dot)ac(dot)in> writes:
> In Main Memory DataBase(MMDB) entire database on the disk is loaded on to the main memory during initial startup of the system. There after all the references are made to database on the main memory. When the system is going to shutdown, we will write back the database on the main memory to disk. Here, for the sake of recovery we are writing log records on to the disk during the transaction execution.

Don't you get 99.9% of this for free with Postgres' normal behavior?
Just increase shared_buffers.

> Can any one tell me the modifications needs to be incorporated to PostgreSQL, so that it considers only Processing Costs during optimization of the Query.

Assuming that a page fetch costs zero is wrong even in an all-in-memory
environment. So I don't see any reason you can't maintain the
convention that a page fetch costs 1.0 unit, and just adjust the other
cost parameters in the light of a different idea about what that
actually means.

> Will it be sufficient, if we change the default values of above paramters in "src/include/optimizer/cost.h and src/backend/utils/misc/postgresql.conf.sample" as follows:

> random_page_cost = 4;
> cpu_tuple_cost = 2;
> cpu_index_tuple_cost = 0.2;
> cpu_operator_cost = 0.05;

You'd want random_page_cost = 1 since there is presumably no penalty for
random access in this context. Also, I think you'd want
cpu_operator_cost a lot higher than that (maybe you dropped a decimal
place? You scaled the others up by 200 but this one only by 20).

It's entirely possible that the ratios of the cpu_xxx_cost values
aren't very good and will need work. In the past we've never had
occasion to study them very carefully, since they were only marginal
contributions anyway.

regards, tom lane

In response to

Responses

Browse pgsql-benchmarks by date

  From Date Subject
Next Message Josh Berkus 2005-12-11 19:26:18 Re: [HACKERS] Please Help: PostgreSQL Query Optimizer
Previous Message Anjan Kumar. A. 2005-12-11 10:45:26 Please Help: PostgreSQL Query Optimizer

Browse pgsql-chat by date

  From Date Subject
Next Message Josh Berkus 2005-12-11 19:26:18 Re: [HACKERS] Please Help: PostgreSQL Query Optimizer
Previous Message Anjan Kumar. A. 2005-12-11 10:45:26 Please Help: PostgreSQL Query Optimizer

Browse pgsql-docs by date

  From Date Subject
Next Message Josh Berkus 2005-12-11 19:26:18 Re: [HACKERS] Please Help: PostgreSQL Query Optimizer
Previous Message Anjan Kumar. A. 2005-12-11 10:45:26 Please Help: PostgreSQL Query Optimizer

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2005-12-11 17:44:15 Re: Something I don't understand with the use of schemas
Previous Message Simon Riggs 2005-12-11 13:28:10 Re: Reducing relation locking overhead