Thread: pgsql: While making the seq_page_cost changes, I was struck by the fact

pgsql: While making the seq_page_cost changes, I was struck by the fact

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.156 -> r1.157)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.156&r2=1.157)