HI: I have a multi thread Java database application, we have to create a customized database pooling. The reason is that some of our preparedstatement has to be cached in the co
Using synchronized will cost you about 1-2 microseconds. If this is critical to you, you shouldn't be using JDBC. IMHO. Just accessing a service over a TCP connection is likely to cost 100 micro-seconds and many JDBC databases have a latency of 1-10 milli-seconds.
I suspect that a few milliseconds per query/update is fine for you in which case using synchronization is unlikely to matter.
Depending on how many threads you have, you can have a thread local connection for each thread. This reduces the overhead as much as possible.