forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit2c5aa2a
committed
Do some restructuring to improve performance of the catcaches. Teach
CatalogCacheFlushRelation (formerly called SystemCacheRelationFlushed)how to distinguish tuples it should flush from those it needn't; thismeans a relcache flush event now only removes the catcache entriesit ought to, rather than zapping the caches completely as it used to.Testing with the regression tests indicates that this considerablyimproves the lifespan of catcache entries. Also, rearrange catcachedata structures so that the limit on number of cached tuples appliesglobally across all the catcaches, rather than being per-catcache.It was a little silly to have the same size limit on both, say,pg_attribute caches and pg_am caches (there being only four possiblerows in the latter...). Doing LRU removal across all the cachesinstead of locally in each one should reduce cache reload trafficin the more heavily used caches and improve the efficiency ofcache memory use.1 parent41c377f commit2c5aa2a
File tree
5 files changed
+265
-187
lines changed- src
- backend/utils/cache
- include/utils
5 files changed
+265
-187
lines changed0 commit comments
Comments
(0)