Hi Jeff

Thank you very much.

>I determined this by changing each cost parameter and running explain,
>to see how much each one changed the cost estimate (after verifying
>the overall plan did not change).

your method is so smart!

Jian Gao

2012/11/9 Jeff Janes <jeff.ja...@gmail.com>

> On Wed, Nov 7, 2012 at 11:17 PM, 高健 <luckyjack...@gmail.com> wrote:
> > Hi all:
> >
> >
> >
> > I  want to see the explain plan for a simple query.   My question is :
>  How
> > is  the cost  calculated?
> >
> >
> >
> > The cost parameter is:
> >
> >
> >
> >  random_page_cost    = 4
> >
> >  seq_page_cost          = 1
> >
> >  cpu_tuple_cost          =0.01
> >
> >  cpu_operator_cost     =0.0025
>
> The cost is estimates as 2*random_page_cost + cpu_tuple_cost +
> cpu_index_tuple_cost + 100* cpu_operator_cost.
>
> I determined this by changing each cost parameter and running explain,
> to see how much each one changed the cost estimate (after verifying
> the overall plan did not change).
>
> I was surprised the multiplier for cpu_operator_cost was that high.
>
> The two random_page_costs are one for the index leaf page and one for
> the table page.  Higher pages in the index are assumed to be cached
> and thus not charged for IO.
>
> ...
>
> > Firstly, database need to search for 9  index pages by sequential  to
> find
> > the index entry.  For each index page in memory, every  “index tuple”
> need
> > to be scanned.
>
> That is not how indexes are traversed.
>
> Cheers,
>
> Jeff
>

Reply via email to