]> granicus.if.org Git - postgresql/commit
While making the seq_page_cost changes, I was struck by the fact that
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Jun 2006 20:56:33 +0000 (20:56 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Jun 2006 20:56:33 +0000 (20:56 +0000)
commit7868590c61fff0def9e46a59cad0890ecbecfe7f
tree4c65a355631fa2eb06c3d1e8daaf16767dcddbb3
parentb7af62e4a9a13be9857be9778f8114e8172924fe
While making the seq_page_cost changes, I was struck by the fact that
cost_nonsequential_access() is really totally inappropriate for its only
remaining use, namely estimating I/O costs in cost_sort().  The routine
was designed on the assumption that disk caching might eliminate the need
for some re-reads on a random basis, but there's nothing very random in
that sense about sort's access pattern --- it'll always be picking up the
oldest outputs.  If we had a good fix on the effective cache size we
might consider charging zero for I/O unless the sort temp file size
exceeds it, but that's probably putting much too much faith in the
parameter.  Instead just drop the logic in favor of a fixed compromise
between seq_page_cost and random_page_cost per page of sort I/O.
src/backend/optimizer/path/costsize.c