From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | MingJu Wu <mingjuwu0505(at)gmail(dot)com>, pgsql-performance(at)lists(dot)postgresql(dot)org |
Subject: | Re: Partial index creation always scans the entire table |
Date: | 2020-02-15 21:15:53 |
Message-ID: | 43b329d274c3535c75d2fbd6912b5ae8e3e51582.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Sat, 2020-02-15 at 19:04 +0800, MingJu Wu wrote:
> When creating partial indexes, can postgres utilize another index for figuring which rows
> should be included in the partial index, without performing a full table scan?
No; it has to be a full sequential scan.
> My scenario is that I have a table with 50M rows that are categorized into 10K categories.
> I need to create a partial index for each category. I have created a index on the category
> column, hoping that postgres can use this information when creating the partial indexes.
> However, postgres always performs full table scan.
There is your problem.
You don't need a partial index per category, you need a single index that *contains* the category.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-02-16 15:30:05 | Re: Partial index creation always scans the entire table |
Previous Message | Justin Pryzby | 2020-02-15 12:53:30 | Re: Partial index creation always scans the entire table |