Re: Bitmap table scan cost per page formula

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Haisheng Yuan <hyuan(at)pivotal(dot)io>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bitmap table scan cost per page formula
Date: 2017-12-20 20:29:14
Message-ID: CA+Tgmob2dY08+9dJz4e5P27whUUdNqUzq4mdaCv6DOUWR-e2kA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Dec 19, 2017 at 2:55 PM, Haisheng Yuan <hyuan(at)pivotal(dot)io> wrote:
>
> Below is the graph (credit to Heikki) that plots the total estimated cost
> of a bitmap heap scan, where table size is 10000 pages, and
> random_page_cost=10 and seq_page_cost=1. X axis is the number of pages
> fetche. I.e. on the left, no pages are fetched, and on the right end, at
> 10000, all pages are fetched. The original formula is in black, the new
> formula in red, and the horizontal line, in blue, shows the cost of a Seq
> Scan.
> [image: Inline image 3]
>
>
> Thoughts? Any better ideas?
>

The parabola-shape curve we're getting at present is clearly wrong;
approaching a horizontal line as an asymptote seems much better. However,
shouldn't the red line level off at some level *above* the blue line rather
than *at* the blue line? Reading the index pages isn't free, so a
sequential scan should be preferred when we're going to read the whole
table anyway.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2017-12-20 20:29:19 Re: Tracking of page changes for backup purposes. PTRACK [POC]
Previous Message Robert Haas 2017-12-20 20:25:58 Re: Bitmap table scan cost per page formula