-
- Downloads
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.
Showing
- src/backend/catalog/index.c 29 additions, 7 deletionssrc/backend/catalog/index.c
- src/backend/commands/copy.c 24 additions, 58 deletionssrc/backend/commands/copy.c
- src/backend/commands/indexcmds.c 8 additions, 1 deletionsrc/backend/commands/indexcmds.c
- src/backend/commands/vacuum.c 20 additions, 67 deletionssrc/backend/commands/vacuum.c
- src/backend/executor/execMain.c 2 additions, 2 deletionssrc/backend/executor/execMain.c
- src/backend/executor/execUtils.c 85 additions, 300 deletionssrc/backend/executor/execUtils.c
- src/backend/executor/nodeAppend.c 2 additions, 2 deletionssrc/backend/executor/nodeAppend.c
- src/backend/optimizer/util/plancat.c 34 additions, 26 deletionssrc/backend/optimizer/util/plancat.c
- src/backend/parser/analyze.c 27 additions, 34 deletionssrc/backend/parser/analyze.c
- src/backend/utils/cache/relcache.c 126 additions, 8 deletionssrc/backend/utils/cache/relcache.c
- src/include/executor/executor.h 2 additions, 3 deletionssrc/include/executor/executor.h
- src/include/utils/rel.h 16 additions, 10 deletionssrc/include/utils/rel.h
- src/include/utils/relcache.h 9 additions, 2 deletionssrc/include/utils/relcache.h
Loading
Please register or sign in to comment