Array access performance

Поиск
Список
Период
Сортировка
От Andreas Brandl
Тема Array access performance
Дата
Msg-id 6332413.23.1312290008254.JavaMail.root@store1.zcs.ext.wpsrv.net
обсуждение исходный текст
Ответы Re: Array access performance
Re: Array access performance
Список pgsql-performance
Hi,

I'm looking for a hint how array access performs in PostgreSQL in respect to performance. Normally I would expect
accessof a 1-dimensional Array at slot i (array[i]) to perform in constant time (random access). 

Is this also true for postgres' arrays?

May concrete example is a 1-dimensional array d of length <= 600 (which will grow at a rate of 1 entry/day) stored in a
table'scolumn. I need to access this array two times per tuple, i.e. d[a], d[b]. Therefore I hope access is not linear.
Isthis correct? 

Also I'm having some performance issues building this array. I'm doing this with a used-defined aggregate function,
startingwith an empty array and using array_append and some calculation for each new entry. I assume this involves some
copying/memoryallocation on each call, but I could not find the implementation of array_append in postgres-source/git.  

Is there an efficient way to append to an array? I could also start with a pre-initialized array of the required
length,but this involves some complexity. 

Thank you

Regards,
Andreas

В списке pgsql-performance по дате отправления:

Предыдущее
От: Jan Wielgus
Дата:
Сообщение: Tsearch2 - bad performance with concatenated ts-vectors
Следующее
От: Andreas Brandl
Дата:
Сообщение: Re: Array access performance