Re: Simple JOIN on heavy table not using expected index

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: kimaidou <kimaidou(at)gmail(dot)com>
Cc: pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: Simple JOIN on heavy table not using expected index
Date: 2024-02-09 15:12:55
Message-ID: 1394633.1707491575@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

kimaidou <kimaidou(at)gmail(dot)com> writes:
> It seems PostgreSQL does not use the index parcelles_dep_idx on "dep" (text
> field), even if the corresponding number of lines for this WHERE clause is
> a smal subset of the entire data:
> approx 6M against 80M in total

6M out of 80M rows is not a "small subset". Typically I'd expect
the planner to use an index-based scan for up to 1 or 2 percent of
the table. Beyond that, you're going to be touching most pages
of the table anyway.

You can try reducing random_page_cost to favor indexscans, but
you might not find that the query gets any faster.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message kimaidou 2024-02-09 15:44:00 Re: Simple JOIN on heavy table not using expected index
Previous Message kimaidou 2024-02-09 15:07:13 Re: Simple JOIN on heavy table not using expected index