Jody Garnett ha scritto:
> Thanks - I glanced over (and the prepaired statement approach seems 
> similar to what is done on the Oracle side of things).
> 
> I understand that this is a security concern, however did you notice any 
> other improvement switching over to using prepaired statements?

Switching to prepared statement does in general slow down things instead
of speeding them up, unless the connection pool cares about them in a
special way.

Quite a bit of drivers do communicate with the dbms when the prepare 
occurs, to report errors and to have the dbms create an execution plan,
and then again when you do execute them, sending only the parameters.
Two communication means we pay a lot on network latency, and gets paid
for each single statement, unless you reuse them.

Enter the connection pool. Most connection pools nowadays can keep
an ancillary pool of prepared statement for each pooled connection, so
that if you're preparing again the same statement twice against the
same connection, the first communication won't be issued and the ps
reused: this results in a visible speedup because execution plan is
ready on the server side.

If you really want big speedups thought, you need to use batching:
instead of doing execute() do an addBatch() for 10 or 100 statements,
and then issue a executeBatch() to send all of them in a single
call. The benefit in term of saved network time is really big.
Of course this means the feature writer must keep the prepared
statement reference as a field, and that not closing it may
leave the writer with pending changes inside.

Please notice the second solution does not depend on having a connection 
pool that is able to pool prepared statement. Yet, having prepared 
statements pooled does not help only the write side, but the read side
too.

Hoping this is useful
Cheers
Andrea

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to