- - PR -
DBのopen・closeのタイミング
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-06 16:24
会議室違いかもしれませんが、こちらに投稿させていただきます。
DBのopenとcloseをどのタイミングで行うのが正攻法なのかお聞きしたいのですが、 1.DBへクエリを投げる度に(open→一連のquery処理→close) 2.システムの開始時と終了時(開始(open)→システム→終了(close)) 現在は、MySqlを使用した掲示板システムを作成しています。 DBを利用したプログラミングにあまり慣れていません。 アドバイスよろしくお願いします。 | ||||
|
投稿日時: 2007-03-06 16:34
どちらも間違いではありません。
長期間起動しているプロセスで、何度もクエリを投げる場合はクローズせずにセッションを保持しておくパターンが多く用いられます。 コネクションを張ったり認証したりという部分がパフォーマンスに影響ありますので。 | ||||
|
投稿日時: 2007-03-06 16:49
1メイントランザクションの直前にOpen直後にClose。
開きっぱなしはやったことないなぁ。 Insider.NET会議室で質問したらそう返ってきそう。 | ||||
|
投稿日時: 2007-03-06 16:57
DBへのコネクションのopenとcloseって話ですよね?
コネクションのプールについて調べると幸せになれると思いますよ。 | ||||
|
投稿日時: 2007-03-06 17:25
>インギさん
返信ありがとうございます。 やはり、ケースバイケースなんですね^^; >ぶさいくろうさん 返信ありがとうございます。 そちらの方法を試してみたいと思います。 >nagiseさん コネクションプーリングについて調べてみました。 有益な情報ありがとうございます。 読んでみる限り、コネクションプーリングは 2 に当てはまると思うのですが。 Object Poolパターンを勉強してから実装してみようと思います。 | ||||
|
投稿日時: 2007-03-06 17:42
論理的か物理的かで見方は変わりますが、とりあえず (2) とは違うと思いますよ。 コレクション プーリング中でも Open メソッドは都度必要なわけでして。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-03-06 18:06
>読んでみる限り、コネクションプーリングは 2 に当てはまると思うのですが。
>Object Poolパターンを勉強してから実装してみようと思います。 大抵アプリケーションサーバやフレームワークに実装されていますので、一から作らなくても大丈夫ですよ。 またはDBCPというライブラリを使うのも良いかと思います。 >コレクション プーリング中でも Open メソッドは都度必要なわけでして。 たとえばデータソースからコネクションを取得するときは open() せずに、getConnection() メソッドで取得しますね。 | ||||
|
投稿日時: 2007-03-06 19:30
>じゃんぬねっとさん
返信ありがとうございます。 どうやらコネクションに対して誤解があったようで、 色々調べるうちに自分の間違いに気づきました。 あくまで有効なコネクションを使いまわすのですね。理解しました。 >インギさん 下記のページを参考にしていたのですが、 http://programnet.hp.infoseek.co.jp/practicaldb/connectionpool.html これがDBCPということですよね? 非常に有益な情報ありがとうございます。 |