私はSQLデータベースに接続する効率的なアプリケーションを設計しようとしていますが、SQLクエリごとにSQL接続を作成するメリット/デメリットは、 などです。以下のコードと同様に、一度設定しておけば、クラスに必要なときに呼び出すことができます。クエリごとに新しいSQL接続を作成する利点はありますか?
class SqlQuery
{
SqlConnection Connection = new SqlConnection(@myConnectionString);
public void fillInfoData()
{
SqlCommand updateCommand = new SqlCommand(
@"my sql query", Connection);
Connection.Open();
updateCommand.ExecuteNonQuery();
Connection.Close();
}
}
また、新しいクエリごとに新しい接続を作成する必要がありますか?
- EDIT:ジョンスキートは私がなぜ思っていた、クエリごとに新しい接続を作成する をお勧めしますか?
- EDITありません2:He stated it in this answer.
私がこれを読んだ場所は思い出せませんが、Jon Skeetは毎回新しい接続を作成することを推奨しました。なぜだろう? – KyloRen
@KyloRen接続プールはアプリドメインごとであるため、 – Massanu
@KyloRenのフレームワークがあなたのための接続管理を担当するため、「オープン後期、早期クローズ」パターンのスケーラビリティが向上します。これにより、クラスターの複数のインスタンスだけでなく、データベース・サーバー上のリソース使用量が削減されます。 –