BUG #14011: select count(distinct column) does not utilizes indices to improve performance

From: gtakahashi(at)palantir(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14011: select count(distinct column) does not utilizes indices to improve performance
Date: 2016-03-10 04:33:27
Message-ID: 20160310043327.8903.60230@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 14011
Logged by: Glen Takahashi
Email address: gtakahashi(at)palantir(dot)com
PostgreSQL version: 9.3.6
Operating system: Red Hat Enterprise Linux 6.7
Description:

Doing a select count(distinct column) does not utilize indices and takes a
very long time to compute.
For example

Create table test_table (number integer);
Create index on test_table (number);
Insert into test_table (number) select generate_series(1,100000); (I did
this ~500 times to replicate the scale of data we have)
Select count(distinct number) from test_table;
Count 100000 Time: 63419.600ms
Select count(1) from (select distinct number from test_table) a;
Count 100000 Time: 10743.186 ms

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2016-03-10 04:50:04 Re: BUG #14011: select count(distinct column) does not utilizes indices to improve performance
Previous Message 张文升 2016-03-10 02:41:14 Re: gram.y comment issue