Lots of good answers, thanks for another one John.

I'm starting with standard rows with UUIDs, strings, longs, reals, and
perhaps text. I need to go for maximum speed...most of the work on tuning
is on the Postgres side. Their high-speed entry command is called COPY IN
and Rob's plug-in supports it with a special command that takes the data as
a BLOB. In this case, I don't have any big types, binary formats, or JSON
to move. Since you bring up wire formats, I'm just thinking - 4D natively
stores all text as UTF16 and my range of values all fit comfortably in
Latin1. Character encodings is one of those things that I just have never
take the time to get my head around. Does UTF16 take more space to store
Latin1 data? It seems like it needn't, and yet when I put text into BBEdit,
it takes 2x space as UTF16 than as UTF8.

If I can stuff values into a BLOB and not see them bloat, that will be
great. For example, UUIDs are longs of some kind internally but become much
longer strings when converted. Anyway, I am hoping for the most compact
wire format possible.

Note: Rob's tools also support the Postgres COPY OUT, for those following
along at home.

Note: COPY is the go-to bulk load optimization in Postgres, but multi-value
inserts are also supposed to be a big help. I'm working through it now and
can post some summary findings, if people are interested.
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to