Re: index-only scans
Hans-Jürgen Schönig <postgres@cybertec.at>
From: PostgreSQL - Hans-Jürgen Schönig <postgres@cybertec.at>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
pgsql-hackers@postgresql.org
Date: 2011-08-12T20:21:25Z
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 →
-
Reduce the alignment requirement of type "name" from int to char, and arrange
- 5f6f840e93a3 8.4.0 cited
On Aug 12, 2011, at 10:03 PM, Heikki Linnakangas wrote: > On 11.08.2011 23:06, Robert Haas wrote: >> Comments, testing, review appreciated... > > I would've expected this to use an index-only scan: > > postgres=# CREATE TABLE foo AS SELECT generate_series(1,100000) AS id; > SELECT 100000 > postgres=# CREATE INDEX i_foo ON foo (id) WHERE id = 10; > CREATE INDEX > postgres=# VACUUM ANALYZE foo; > VACUUM > postgres=# EXPLAIN SELECT id FROM foo WHERE id = 10; > QUERY PLAN > ----------------------------------------------------------------- > Index Scan using i_foo on foo (cost=0.00..8.27 rows=1 width=4) > Index Cond: (id = 10) > (2 rows) > > If it's not a predicate index, then it works: > > postgres=# DROP INDEX i_foo; > DROP INDEX > postgres=# EXPLAIN SELECT id FROM foo WHERE id = 10; > QUERY PLAN > ----------------------------------------------------------------------- > Index Only Scan using i_foo2 on foo (cost=0.00..8.28 rows=1 width=4) > Index Cond: (id = 10) > (2 rows) is there any plan to revise the cost for index only scans compared to what it is now? many thanks, hans -- Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt, Austria Web: http://www.postgresql-support.de