こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Mysqlの接続について

現在、以下のようなperlのスクリプトを作っているのですが、mysqlへの接続,切断は以下の場合、どちらにした方がいいのでしょうか?

(1)の場合
use DBI;
$dsn="DBI:mysql:database=dbname:host=localhost";
$dbh=DBI->connect($dsn,'user','pass');
$sth = $dbh->prepare("SELECT no,title,name,date,host From `table1` where no='1'");
$sth->execute;
$sth->fetchrow_array;
$sth->finish;
$sth2 = $dbh->prepare("SELECT no,title,name,date,host From `table2` where no='1'");
$sth2->execute;
$sth2->fetchrow_array;
$sth2->finish;
$dbh->disconnect;

(2)の場合
use DBI;
$dsn="DBI:mysql:database=dbname:host=localhost";
$dbh=DBI->connect($dsn,'user','pass');
$sth = $dbh->prepare("SELECT no,title,name,date,host From `table1` where no='1'");
$sth->execute;
$sth->fetchrow_array;
$sth->finish;
$dbh->disconnect;

$dsn="DBI:mysql:database=dbname:host=localhost";
$dbh=DBI->connect($dsn,'user','pass');
$sth2 = $dbh->prepare("SELECT no,title,name,date,host From `table2` where no='1'");
$sth2->execute;
$sth2->fetchrow_array;
$sth2->finish;
$dbh->disconnect;

(1)の場合と(2)の場合の違いは、(1)の場合、最初にデータベースに接続して、一番最後に切断する事で、(2)の場合、毎回データベースへの接続と切断を行う事が違います。

(2)の場合、毎回接続と切断を行うので、2回ほどではあまり変わらないかもしれないのですが、もし10回とか接続と切断を行うとかなり負荷が高くなるような気がするのですが、他のHPなどを拝見すると接続をしたら切断を行うように癖をつけるようにした方がいいと書かれていたりします。

どちらの方が正しいやり方というか、負荷がすくなく使えるのでしょうか?

投稿日時 - 2008-03-11 03:27:44

QNo.3852040

困ってます

質問者が選んだベストアンサー

参考URLをご覧になってみて下さい。

再接続しなおすことのコストを考えると、最初に接続・最後に切断が良いようです。

参考URL:http://homepage3.nifty.com/hippo2000/perltips/dbimemo.htm

投稿日時 - 2008-03-12 11:34:11

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問