-
- Downloads
Allow HOT updates for some expression indexes
If the value of an index expression is unchanged after UPDATE, allow HOT updates where previously we disallowed them, giving a significant performance boost in those cases. Particularly useful for indexes such as JSON->>field where the JSON value changes but the indexed value does not. Submitted as "surjective indexes" patch, now enabled by use of new "recheck_on_update" parameter. Author: Konstantin Knizhnik Reviewer: Simon Riggs, with much wordsmithing and some cleanup
Showing
- doc/src/sgml/ref/create_index.sgml 35 additions, 2 deletionsdoc/src/sgml/ref/create_index.sgml
- src/backend/access/common/reloptions.c 44 additions, 1 deletionsrc/backend/access/common/reloptions.c
- src/backend/access/heap/heapam.c 98 additions, 7 deletionssrc/backend/access/heap/heapam.c
- src/backend/catalog/index.c 2 additions, 1 deletionsrc/backend/catalog/index.c
- src/backend/utils/cache/relcache.c 106 additions, 6 deletionssrc/backend/utils/cache/relcache.c
- src/bin/psql/tab-complete.c 2 additions, 2 deletionssrc/bin/psql/tab-complete.c
- src/include/access/reloptions.h 2 additions, 0 deletionssrc/include/access/reloptions.h
- src/include/utils/rel.h 11 additions, 1 deletionsrc/include/utils/rel.h
- src/include/utils/relcache.h 2 additions, 1 deletionsrc/include/utils/relcache.h
- src/test/regress/expected/func_index.out 61 additions, 0 deletionssrc/test/regress/expected/func_index.out
- src/test/regress/parallel_schedule 1 addition, 1 deletionsrc/test/regress/parallel_schedule
- src/test/regress/serial_schedule 1 addition, 0 deletionssrc/test/regress/serial_schedule
- src/test/regress/sql/func_index.sql 30 additions, 0 deletionssrc/test/regress/sql/func_index.sql
Loading
Please register or sign in to comment