Re: So, is COUNT(*) fast now?
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
Cc: "Robert Haas" <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org
Date: 2011-10-24T17:51:59Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove pg_upgrade dependency on the 'postgres' database existing in the
- 51eba98cf459 9.2.0 cited
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes: > Tom Lane <tgl@sss.pgh.pa.us> wrote: >> I had wondered whether it'd be worth optimizing that along the >> lines of slot_getallattrs(). But most indexes probably have only >> one column, or anyway not enough to make for a useful savings. >> From a heavily-used production database: > cir=> select indnatts, count(*) from pg_index group by indnatts > order by indnatts; > indnatts | count > ----------+------- > 1 | 200 > 2 | 684 > 3 | 155 > 4 | 76 > 5 | 43 > 6 | 13 > 7 | 2 > 9 | 1 > (8 rows) > This includes system table and TOAST table indexes (which seem to > have two columns). Yeah, TOAST indexes are 2-column. It would be best to exclude those from your counts, since it seems pretty unlikely that anyone will care how fast nodeIndexonlyscan.c is for scans on toast tables. > There are over 400 user tables, each of which > has a primary key, so most primary keys in our database are more > than one column. It doesn't look to me like the mean is above 2 (unless you have many fewer toast tables than I suspect), so trying to optimize many-column cases isn't going to help. regards, tom lane