Re: INSERT times - same storage space but more fields -> much slower inserts

От: Stephen Frost
Тема: Re: INSERT times - same storage space but more fields -> much slower inserts
Дата: ,
Msg-id: 20090415005431.GP8123@tamriel.snowman.net
(см: обсуждение, исходный текст)
Ответ на: Re: INSERT times - same storage space but more fields -> much slower inserts  (Craig Ringer)
Ответы: Re: INSERT times - same storage space but more fields -> much slower inserts  (Matthew Wakeling)
Список: pgsql-performance


Craig,

* Craig Ringer () wrote:
> In other cases, binary-format COPY would be unsafe without some way to
> determine remote endianness and sizeof(various types).

As Tom mentioned already, the binary protocol is actually pretty well
defined, and it's in network-byte-order, aka, big-endian.  The only
issue that I can think of off-hand that you need to know about the
server is if it's using 64-bit integers for date-times or if it's using
float.  That's a simple check to do, however, specifically with:

show integer_datetimes;

It's also alot cheaper to do the necessary byte-flipping to go from
whatever-endian to network-byte-order than to do the whole printf/atoi
conversion.  Handling timestamps takes a bit more magic but you can just
pull the appropriate code/#defines from the server backend, but I don't
think that's even an issue for this particular set.

What does your test harness currently look like, and what would you like
to see to test the binary-format COPY?  I'd be happy to write up the
code necessary to implement binary-format COPY for this.

    Thanks,

        Stephen

Вложения

В списке pgsql-performance по дате сообщения:

От: Stephen Frost
Дата:
Сообщение: Re: INSERT times - same storage space but more fields -> much slower inserts
От: Grzegorz Jaśkiewicz
Дата:
Сообщение: Re: error updating a very large table