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)