Hacker News new | ask | show | jobs
by maweki 1965 days ago
That would highly depend on what you select. If the query could be answered by index only, like COUNT(*), it would probably use the index. You are right if you want to query any data from that row that's not in the index.
1 comments

I might be out of touch a little with Postgres (I last used it in 2010), but my impression was that COUNT(*) still needed to scan the actual table in order to exclude rows that had been deleted in a transaction, due to the way multi-version concurrency worked. Is this something that has been improved since then?
They support index-only scans now, so there is some sort of optimization which bypasses the table lookup, at least in certain cases.