Re: Optimize postgres protocol for fixed size arrays - Mailing list pgsql-hackers

From ktm@rice.edu
Subject Re: Optimize postgres protocol for fixed size arrays
Date
Msg-id 20111122215806.GP27589@staff-mud-56-27.rice.edu
Whole thread Raw
In response to Optimize postgres protocol for fixed size arrays  (Mikko Tiihonen <mikko.tiihonen@nitorcreations.com>)
List pgsql-hackers
On Tue, Nov 22, 2011 at 11:47:22PM +0200, Mikko Tiihonen wrote:
> Hi,
>
> During conversion of the jdbc driver to use binary encoding when receiving array objects from postgres it was noticed
> that for example for int[] arrays the binary encoding is normally 30% to 200% larger in bytes than the text encoding.
>
> This was of concern to some users with slower links to database. Even though the encoded size was larger the binary
> encoding was still constantly faster (with 50% speed up for float[]).
>
> Here is a patch that adds a new flag to the protocol that is set when all elements of the array are of same fixed
size.
> When the bit is set the 4 byte length is only sent once and not for each element. Another restriction is that the
flag
> can only be set when there are no NULLs in the array.
>

Cool. This would be very useful with the DSPAM binary array driver. Although
the binary is shorter because the values are 8 byte integers, they would be
much shorter without the redundant sizing information. Barring issues:

+1

Regards,
Ken

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: pg_upgrade relation OID mismatches
Next
From: "Kevin Grittner"
Date:
Subject: Re: FlexLocks