On 04/21/2010 12:33 PM, Felipe de Jesús Molina Bravo wrote:

In my application, I opened my database from authentication handler and
close it from child exit handler. It is correct (is a best practice)? or
is a bad design?

Typically it's best practice to not close DB handles. That's why Apache::DBI is such a popular module since it handles all of connection caching for you.

With some databases (I'm looking at you Oracle) it's expensive to create a new database connection so it's more important. With others (like MySQL) it's really cheap so there's not a big penalty for not caching.

There are some cases where caching connections is actually a bad thing: If you have too many application servers where each has a connection to your database and thus overwhelms your database with too many connections even though the actual load isn't overloading. But most people in this situation will use a proxy like DBD::Gofer to manage the DB connections.

--
Michael Peters
Plus Three, LP

Reply via email to