Хорошо, мой вопрос требует большого опыта в этом деле.
Я хочу, чтобы вы сравнили эти 2 класса. Первый открывает новое соединение для каждого запроса, в то время как другой сохраняет 1 соединение открытым, а для других тысяч одновременных запросов используется одно и то же соединение.
Теперь какой из них лучше, почему?
Каковы минусы и плюсы?
Asp.net, веб-сайт .net 4.5, С#
using System;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
using System.Collections.Generic;
public static class DbConnection
{
public static string srConnectionString = "server=localhost;database=my_DB;uid=sa;pwd=my_PW;";
public static DataSet db_Select_Query(string strQuery)
{
DataSet dSet = new DataSet();
if (strQuery.Length < 5)
return dSet;
try
{
using (SqlConnection connection = new SqlConnection(srConnectionString))
{
connection.Open();
using (SqlDataAdapter DA = new SqlDataAdapter(strQuery, connection))
{
DA.Fill(dSet);
}
}
return dSet;
}catch(Exception){}
return dSet;
}
}
А здесь одно соединение по всем темам, по всему сайту
using System;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
using System.Collections.Generic;
public static class DbConnection
{
private static string srConnectionString = "server=localhost;database=my_DB;uid=sa;pwd=my_PW;";
private static SqlConnection connection = new SqlConnection(srConnectionString);
static DbConnection()
{
connection.Open();
}
public static DataSet db_Select_Query(string strQuery)
{
DataSet dSet = new DataSet();
if (strQuery.Length < 5)
return dSet;
try
{
using (SqlDataAdapter DA = new SqlDataAdapter(strQuery, connection))
{
DA.Fill(dSet);
}
return dSet;
}
catch (Exception) { }
return dSet;
}
}