On Tue, Apr 3, 2012 at 10:38 AM, Claudio Freire <klaussfre...@gmail.com>wrote:

>
> You perform 8 roundtrips minimum per event, so that's 375us per query.
> It doesn't look like much. That's probably Nagle and task switching
> time, I don't think you can get it much lower than that, without
> issuing less queries (ie: using the COPY method).
>
>
I may be missing something stated earlier, but surely there are options in
between 7 individual statements and resorting to COPY and temp tables.

I'm thinking of a set of precompiled queries / prepared statements along
the lines of "SELECT FOR UPDATE WHERE foo in (?, ?, ?, .... ?)" that handle
e.g. 500-1000 records per invocation. Or what about a stored procedure that
updates one record, performing the necessary 7 steps, and then calling that
in bulk?

I agree with the assessment that 375us per statement is pretty decent, and
that going after the communication channel (TCP vs local pipe) is chasing
pennies when there are $100 bills lying around waiting to be collected.

Reply via email to