Joe Conway <mail@joeconway.com> writes:
> Tom Lane wrote:
>> 3. Set up a long-lived cache internal to the array functions that can
>> translate element type OID to the needed lookup data, and won't leak
>> memory across repeated calls. This is not the fastest or most general
>> solution, but it seems the most localized and safest fix.
> It seems to me that #3 is the least risky, and even if it isn't the best
> possible performance, this is the initial implementation of indexes on
> arrays, so it isn't like we're taking away something. Maybe solution #2
> is better held as a performance enhancement for 7.5.
I'm leaning that way too. It occurs to me also that the same cache
could be used to eliminate repeated lookups in sorting setup --- which
would not be much of a win percentagewise, compared to the sort itself,
but still it seems worth doing.
> Do you want me to take a shot at this since I created the mess?
Actually I led you down the garden path on that, IIRC --- I was the one
who insisted these lookups needed to be cached. I'll work on fixing it.
regards, tom lane