OSDN Git Service

Fix some planner performance problems with large WHERE clauses, by
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 28 May 2003 22:32:50 +0000 (22:32 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 28 May 2003 22:32:50 +0000 (22:32 +0000)
commit8a6ac83dab3b3a5701a0508daa1d9356e2d59cdb
tree0f96d0304864f7439c90dc6ae6a1e30945051d1a
parent0f3c68aa436dca175d29a43e104146259b4b0a00
Fix some planner performance problems with large WHERE clauses, by
introducing new 'FastList' list-construction subroutines to use in
hot spots.  This avoids the O(N^2) behavior of repeated lappend's
by keeping a tail pointer, while not changing behavior by reversing
list order as the lcons() method would do.
src/backend/executor/execQual.c
src/backend/nodes/list.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/path/orindxpath.c
src/backend/optimizer/prep/prepqual.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/var.c
src/include/nodes/pg_list.h