Subject Insert performance
Author Blas Rodriguez Somoza

Today I discover a difference between Jaybird and Interclient, that justify most of the performance problems when doing inserts
with explicit transaction control.

The problem only happen when the insert/update/delete are executed with executeUpdate. After the command runs, Jaybird needs to
ask the server about insert/delete/update lines, because the server don't include those counts in the response, and executeUpdate
must return the line count.

Using execute instead of executeUpdate Jaybird performs near Interclient on local connections and better on remote connections.

The time Jaybird uses in the tests over local connections (with explicit transaction control) are between 87% and 108% of
Interclient time. Using executeUpdate the times are between 125% and 140%. Those tests are inserts of 20000 records with numeric,
char and varchar data.

I think the only way to solve that is through a protocol change.

I hope this workaround can help to avoid some problems with performance.

Blas Rodriguez Somoza