Re: Caching/Indexing Function Output
От | Mike |
---|---|
Тема | Re: Caching/Indexing Function Output |
Дата | |
Msg-id | 1ce701c4e9a5$b4755300$0201000a@ehj9vn81i9b95wa обсуждение исходный текст |
Ответ на | Caching/Indexing Function Output ("Mike" <mike@mrhost.ca>) |
Список | pgsql-general |
> On Thu, Dec 23, 2004 at 01:22:42PM -0800, Mike wrote: > > > My question is- is there anyway, since a call to sp_host('10.0.0.1') will > > always > > return the same value (the primary key/sequence value from the ip_addresses > > table), to cache/index that value somehow, so anytime I ever call that same > > function, with the same argument, it returns a cached/indexed value? > > Some procedural languages (PL/Tcl, PL/Python; also PL/Perl in 8.0) > have global data that you could use as a cache. The function would > still be called each time, but you could at least use the cache to > save the cost of a database query. All the functions I wrote are in C- So yeah, I guess I could have a global key/value hash that I keep up from inside the functions, and if the ip address exists, then return the value, otherwise actually execute the function. I could probably use something like libmm if I didn't have access to global vars, and store them in shared memory- I was just hoping to have something that postgres would manage automagically for me. :) It would also be cool if the planner could decide which to use- ie it would be considered cheaper to use the cache then call the function if the ip address was listed. Thanks- Mike
В списке pgsql-general по дате отправления: