From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: While making the seq_page_cost changes, I was struck by the fact |
Date: | 2006-06-05 20:56:34 |
Message-ID: | 20060605205634.113449FA5E1@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-06-05 21:16:32 | pgsql: Remove extremely old, incomplete, broken example code. |
Previous Message | User Agoldshuv | 2006-06-05 16:01:42 | bizgres - bizgres: some help text updates... |