http://www.perlmonks.org?node_id=891960


in reply to $sth->prepare_cached loop

What will happen will vary depending on the database.

With Oracle, you will prepare the query once. And then send 3 execute statements to it. Which saves you the effort of compiling the query. Since compilation is expensive in Oracle, this is a win.

In MySQL the caching is done client side. So you wind up preparing and executing the query 3 times. Since MySQL makes preparing the query cheap, this doesn't cost very much.