I'm not a Class::DBI guy, so I won't comment there. As for DBI and Apache::DBI, though, here's the scoop: Apache::DBI, if loaded, will override DBI's connect method (by way of defaulting the "connect_method" DBI connection attribute to 'Apache::DBI::connect'), and thus use Apache::DBI's connection caching. However, if you want to override this and ALWAYS use DBI's connection caching, then you can set $DBI::connect_via to "connect_cached".