git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 1944cdc) | patch
Allow HOT updates for some expression indexes
2018年3月27日 18:57:02 +0000 (19:57 +0100)
2018年3月27日 18:57:02 +0000 (19:57 +0100)
commit c203d6cf81b4d7e43edb2b75ec1b741ba48e04e0
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
13 files changed:
doc/src/sgml/ref/create_index.sgml diff | blob | blame | history
src/backend/access/common/reloptions.c diff | blob | blame | history
src/backend/access/heap/heapam.c diff | blob | blame | history
src/backend/catalog/index.c diff | blob | blame | history
src/backend/utils/cache/relcache.c diff | blob | blame | history
src/bin/psql/tab-complete.c diff | blob | blame | history
src/include/access/reloptions.h diff | blob | blame | history
src/include/utils/rel.h diff | blob | blame | history
src/include/utils/relcache.h diff | blob | blame | history
src/test/regress/expected/func_index.out [new file with mode: 0644] blob
src/test/regress/parallel_schedule diff | blob | blame | history
src/test/regress/serial_schedule diff | blob | blame | history
src/test/regress/sql/func_index.sql [new file with mode: 0644] blob
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /