"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> pages_fetched seems to be able to be greater than
> baserel->pages. But if there's sufficiently large buffer
> space pages_fetched would be <= baserel->pages.
> Are there any assupmtions about buffer space ?
Right now cost_index doesn't try to account for that, because
it doesn't have any way of knowing the relevant buffer-space
parameter. (As I said to Jeff, we have to consider kernel
buffer space not just the number of Postgres shared buffers.)
cost_nonsequential_access does have a dependence on (a totally
bogus estimate of) effective cache size, but it's a considerably
weaker dependence than you suggest above. If we had a reliable
estimate of cache size I'd be inclined to restructure this code
quite a bit...
regards, tom lane