"Peter J. Holzer" <hjp-pgsql@xxxxxx> writes: > Both do a parallel index only scan. Both perform 0 heap fetches. > But one reads 27336 buffers (or about 22 bytes per index entry, which > sounds reasonable) while the other reads 9995216 buffers (or almost one > full buffer per row). Why? The entries should be dense in the index in > both cases and since it's an index only scan (and explain says there > were 0 heap fetches) I would not expect extra accesses. Where do these > buffer reads come from? An "index only" scan is only that if the table's all-visible map is fully set. Did you vacuum this table after building it, or wait long enough for autovacuum to do so? regards, tom lane