Re: Limit Heap Fetches / Rows Removed by Filter in Index Scans

From: Sameer Kumar <sameer(dot)kumar(at)ashnik(dot)com>
To: Victor Blomqvist <vb(at)viblo(dot)se>, PostgreSQL General Discussion Forum <pgsql-general(at)postgresql(dot)org>
Subject: Re: Limit Heap Fetches / Rows Removed by Filter in Index Scans
Date: 2016-08-19 05:31:58
Message-ID: CADp-Sm6bWjaKa-vK+C0Eu42TqM1WkFXDPPbs7L4Cb2BzXAetNA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, 19 Aug 2016, 1:07 p.m. Victor Blomqvist, <vb(at)viblo(dot)se> wrote:

> Hi,
>
> Is it possible to break/limit a query so that it returns whatever results
> found after having checked X amount of rows in a index scan?
>
> For example:
> create table a(id int primary key);
> insert into a select * from generate_series(1,100000);
>
> select * from a
> where id%2 = 0
> order by id limit 10
>
> In this case the query will "visit" 20 rows and filter out 10 of them. We
> can see that in the query plan:
> "Rows Removed by Filter: 10"
> "Heap Fetches: 20"
>
> Is it somehow possible to limit this query so that it only fetches X
> amount, in my example if we limited it to 10 Heap Fetches the query could
> return the first 5 rows?
>
>
> My use case is I have a table with 35 million rows with a geo index, and I
> want to do a KNN search but also limit the query on some other parameters.
> In some cases the other parameters restrict the query so much that Heap
> Fetches becomes several 100k or more, and in those cases I would like to
> have a limit to my query.
>

Have you checked the TABLESAMPLE clause in v9.5?

https://wiki.postgresql.org/wiki/TABLESAMPLE_Implementation

> Thanks!
> /Victor
>
--
--
Best Regards
Sameer Kumar | DB Solution Architect
*ASHNIK PTE. LTD.*

101 Cecil Street, #11-11 Tong Eng Building, Singapore 069 533

T: +65 6438 3504 | M: +65 8110 0350

Skype: sameer.ashnik | www.ashnik.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Victor Blomqvist 2016-08-19 06:25:50 Re: Limit Heap Fetches / Rows Removed by Filter in Index Scans
Previous Message Victor Blomqvist 2016-08-19 05:06:34 Limit Heap Fetches / Rows Removed by Filter in Index Scans