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