]> granicus.if.org Git - postgresql/commit
Fix performance problems with pg_index lookups (see, for example,
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 17 Jun 2000 21:49:04 +0000 (21:49 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 17 Jun 2000 21:49:04 +0000 (21:49 +0000)
commitd03a933ec5400f77fc132d4a47bb7d2981ff5187
tree70497a8083f5c2569e8e50afa04b5e681082d65d
parent9cf80f2f55589946c22ee18185c2d87a9266012a
Fix performance problems with pg_index lookups (see, for example,
discussion of 5/19/00).  pg_index is now searched for indexes of a
relation using an indexscan.  Moreover, this is done once and cached
in the relcache entry for the relation, in the form of a list of OIDs
for the indexes.  This list is used by the parser and executor to drive
lookups in the pg_index syscache when they want to know the properties
of the indexes.  Net result: index information will be fully cached
for repetitive operations such as inserts.
13 files changed:
src/backend/catalog/index.c
src/backend/commands/copy.c
src/backend/commands/indexcmds.c
src/backend/commands/vacuum.c
src/backend/executor/execMain.c
src/backend/executor/execUtils.c
src/backend/executor/nodeAppend.c
src/backend/optimizer/util/plancat.c
src/backend/parser/analyze.c
src/backend/utils/cache/relcache.c
src/include/executor/executor.h
src/include/utils/rel.h
src/include/utils/relcache.h