Re: Resurrected thread: Speed improvement - Group batch Insert - Rewrite the INSERT at the driver level (using a parameter)

Поиск
Список
Период
Сортировка
От Thomas Kellerer
Тема Re: Resurrected thread: Speed improvement - Group batch Insert - Rewrite the INSERT at the driver level (using a parameter)
Дата
Msg-id mfbf8s$797$1@ger.gmane.org
обсуждение исходный текст
Ответ на Resurrected thread: Speed improvement - Group batch Insert - Rewrite the INSERT at the driver level (using a parameter)  (Jeremy Whiting <jwhiting@redhat.com>)
Ответы Re: Re: Resurrected thread: Speed improvement - Group batch Insert - Rewrite the INSERT at the driver level (using a parameter)
Список pgsql-jdbc
Jeremy Whiting schrieb am 25.03.2015 um 20:34:
> "If your use case is just "I want to do bulk inserts as fast as possible" then perhaps the newly merged COPY suport
isa better way to go." 

I wonder if it is possible to silently "rewrite" a batched statement to use the CopyManager.

Very(!) roughly speaking: when the first call to addBatch() is made, initialize the CopyManager and provide a a Reader
implementationthat acts as a bridge between the PreparedStatement.setXXX()/addBatch() statements and the CopyManager.
Somethinglike a producer/consumer pattern. The setXXX() calls would prepare a single "line" and the addBatch() would
then"send" this to the CopyManager which is blocked on the Read.readLine() call.  

But I have no clue if this would even be possible (blocking Reader.readLine() but sill allowing calls to addBatch() in
thesame Thread seems a major roadblock to me) or - if possible - how much work it would be.  

It would definitely require parsing the insert statement passed to the prepareStatement() clause, but as the syntax of
aplain insert statement isn't that complicated, I think that should be doable - especially because we wouldn't need to
worryabout literals as only placeholders will be (must be?) used. 

Thomas

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: Resurrected thread: Speed improvement - Group batch Insert - Rewrite the INSERT at the driver level (using a parameter)
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: Re: Resurrected thread: Speed improvement - Group batch Insert - Rewrite the INSERT at the driver level (using a parameter)