Re: A note about hash-based catcache invalidations
От | Heikki Linnakangas |
---|---|
Тема | Re: A note about hash-based catcache invalidations |
Дата | |
Msg-id | 4E4B65AE.9030002@enterprisedb.com обсуждение исходный текст |
Ответ на | A note about hash-based catcache invalidations (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: A note about hash-based catcache invalidations
|
Список | pgsql-hackers |
On 17.08.2011 00:17, Tom Lane wrote: > I'm looking into the idea I mentioned earlier: > >> All is not entirely lost, however: there's still some possible >> performance benefit to be gained here, if we go to the scheme of >> identifying victim catcache entries by hashvalue only. Currently, >> each heap_update in a cached catalog has to issue two sinval messages >> (per cache!): one against the old TID and one against the new TID. >> We'd be able to reduce that to one message in the common case where the >> hashvalue remains the same because the cache key columns didn't change. > > Removing the tuple ID from sinval messages turns out to have slightly > wider impact than I thought at first, because the current coding passes > those to callback functions registered with > CacheRegisterSyscacheCallback, and there are a lot of 'em. However, > only one of them seems to be doing anything with the tuplePtr argument, > namely PlanCacheFuncCallback. We can make it work with the hash value > instead, which will be about as good as what we're doing now. > > Any objections to that plan? A callback might be using the tuple ID in a way that fails if VACUUM FULL moves the tuple, so I think we *have* to change it. (as you did already) -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: