mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Correct oversight in hashjoin cost estimation: nodeHash sizes its hash
table for an average of NTUP_PER_BUCKET tuples/bucket, but cost_hashjoin was assuming a target load of one tuple/bucket. This was causing a noticeable underestimate of hashjoin costs.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: nodeHash.h,v 1.15 2000/01/26 05:58:05 momjian Exp $
|
||||
* $Id: nodeHash.h,v 1.16 2000/04/18 05:43:00 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -16,6 +16,9 @@
|
||||
|
||||
#include "nodes/plannodes.h"
|
||||
|
||||
/* NTUP_PER_BUCKET is exported because planner wants to see it */
|
||||
#define NTUP_PER_BUCKET 10
|
||||
|
||||
extern TupleTableSlot *ExecHash(Hash *node);
|
||||
extern bool ExecInitHash(Hash *node, EState *estate, Plan *parent);
|
||||
extern int ExecCountSlotsHash(Hash *node);
|
||||
|
Reference in New Issue
Block a user