-2

(C# から) 単一の MySQL 接続を開き、その同じ接続を使用して複数の SQL ステートメントを実行することは良い考えですか? または、実行する必要があるステートメントごとに個別の MySQL 接続を開いたり閉じたりする必要がありますか?

このようなこと (以下の疑似コード) は可能ですか、それとも同じ接続を使用して複数の SQL ステートメントを実行するパターンを避けるべきですか?

MYSQL.OPEN()
FOR(INT I =0 ; I < CODE.COUNT ; I ++)
{
ALL ITEMS I WANT ENTER BY ONCE TIME OPEN CONNECTION ( is it possible) or wrong idea ?
}
MYSQL.CLOSE()
4

1 に答える 1

2

接続を解約しないでください。

MySQLデータベースへの接続を開き、必要なすべての作業を行ってから、接続を閉じます。

各SQLステートメントの接続を開いたり閉じたりすることは、データベースサーバーが行う多くの手間がかかります。(クライアント側からは単純に見えますが、サーバーにはかなり重要なコードパスがあります。)

接続プールは、一般的に実装されているアプローチです。接続プールは、データベースへの一連の接続を管理します。クライアントはプールから接続を「借用」できるため、チャーン(接続に対する大量の要求)はクライアント側のプールによって処理され、データベースサーバーは安定した接続のセットを認識します。だからみんな幸せです。

于 2012-08-08T21:36:56.240 に答える