So I'm reading some official documentation about JDBC and I run across this bit of text (emphasis mine):
The second major advantage is that the DataSource facility allows developers to implement a DataSource class to take advantage of features like connection pooling and distributed transactions. Connection pooling can increase performance dramatically by reusing connections rather than creating a new physical connection each time a connection is requested.
What does "physical" connection mean in this context? Is there really somebody sitting at a very small switchboard inside my server, putting plugs into sockets so that I can communicate and then removing them when the connection is no longer needed?
No.
It's all digital. The word "physical" does not belong at all. It conjures up images of a long ago era when telephone "operators" actually did operate as your local telephone switch.
I believe the point that the author is trying to make is this: creating new database connections may take a non-trivial amount of time which is all "overhead" as far as you're concerned. It's best to minimize or eliminate that. Connection pooling is the traditional solution. (Or you could use an alternative database server that doesn't have the per-connection overhead that the big one does. But that's really a side issue.)
That just bugs me.
Posted by jzawodn at December 27, 2002 02:54 PM