Frits,

When you use the copy command, are you doing anything special to get the
run time that you are indicating?

On Fri, Jun 9, 2017 at 10:39 AM, Frits Jalvingh <j...@etc.to> wrote:

> Hi all,
>
> Thanks a lot for the many responses!
>
> About preparing statements: this is done properly in Java, and pgsql does
> it by itself. So that cannot be done better ;)
>
> I tried the copy command, and that indeed works quite brilliantly:
> Inserted 24000000 rows in 22004 milliseconds, 1090710.7798582076
> <(779)%20858-2076> rows per second
>
> That's faster than Oracle. But with a very bad interface I have to say for
> normal database work.. I will try to make this work in the tooling, but it
> needs some very special code to format all possible values properly, and to
> manage the end of the copy, so it is not usable in general which is a pity,
> I think.
>
> So, I am still very interested in getting normal inserts faster, because
> that will gain speed for all work.. If Oracle can do it, and Postgres is
> able to insert fast with copy- where lies the bottleneck with the insert
> command? There seems to be quite a performance hit with the JDBC driver
> itself (as the stored procedure is a lot faster), so I can look into that.
> But even after that there is quite a gap..
>
> Regards,
>
> Frits
>
> On Fri, Jun 9, 2017 at 4:33 PM Scott Marlowe <scott.marl...@gmail.com>
> wrote:
>
>> On Fri, Jun 9, 2017 at 7:56 AM, Frits Jalvingh <j...@etc.to> wrote:
>> > Hi Kenneth, Andreas,
>> >
>> > Thanks for your tips!
>> >
>> > I increased shared_buffers to 8GB but it has no measurable effect at
>> all. I
>> > think that is logical: shared buffers are important for querying but
>> not for
>> > inserting; for that the speed to write to disk seems most important- no
>> big
>> > reason to cache the data if the commit requires a full write anyway.
>> > I also changed the code to do only one commit; this also has no effect
>> I can
>> > see.
>> >
>> > It is true that Oracle had more memory assigned to it (1.5G), but unlike
>> > Postgres (which is completely on a fast SSD) Oracle runs on slower disk
>> > (ZFS)..
>> >
>> > I will try copy, but I first need to investigate how to use it- its
>> > interface seems odd to say the least ;) I'll report back on that once
>> done.
>>
>> I you want an example of copy, just pg_dump a table:
>>
>> pg_dump -d smarlowe -t test
>>
>> (SNIP)
>> COPY test (a, b) FROM stdin;
>> 1 abc
>> 2 xyz
>> \.
>> (SNIP)
>>
>

Reply via email to