Обсуждение: pgsql: Nab some low-hanging fruit: replace the planner's base_rel_list
pgsql: Nab some low-hanging fruit: replace the planner's base_rel_list
От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message: ----------- Nab some low-hanging fruit: replace the planner's base_rel_list and other_rel_list with a single array indexed by rangetable index. This reduces find_base_rel from O(N) to O(1) without any real penalty. While find_base_rel isn't one of the major bottlenecks in any profile I've seen so far, it was starting to creep up on the radar screen for complex queries --- so might as well fix it. Modified Files: -------------- pgsql/src/backend/nodes: outfuncs.c (r1.253 -> r1.254) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.253&r2=1.254) pgsql/src/backend/optimizer/path: allpaths.c (r1.131 -> r1.132) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c.diff?r1=1.131&r2=1.132) pgsql/src/backend/optimizer/plan: planmain.c (r1.82 -> r1.83) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planmain.c.diff?r1=1.82&r2=1.83) pgsql/src/backend/optimizer/util: relnode.c (r1.67 -> r1.68) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.67&r2=1.68) pgsql/src/include/nodes: relation.h (r1.110 -> r1.111) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.110&r2=1.111)