1
這是我從數據庫中選擇數據功能:新的DbConnection性能
public DataTable SelectDataTable(string selectStatement, string connectionString)
{
using (var oracleConnection = new OracleConnection(connectionString))
{
using (var command = new OracleCommand(selectStatement, oracleConnection))
{
return SelectDataTable(command);
}
}
}
public DataTable SelectDataTable(OracleCommand command)
{
var result = new DataTable();
try
{
var adapter = new OracleDataAdapter(command);
adapter.Fill(result);
} catch (OracleException ex)
{
throw NewDatabaseException("Error on fill data table.", command.CommandText, ex);
}
return result;
}
我常常調用這個函數,我有點害怕,可以有性能問題,因爲我仍然在創造新的DbConnection。克里特只有一個DbConnection,將其存儲在現場並使用多時間更好嗎?
根據MSDN *當請求OracleConnection對象時,如果可用連接可用,則從池中獲取它。* – tchelidze
在需要時創建新連接並在使用後儘快關閉連接是正常的。你的代碼示例符合這一點,所以不,我不會擔心性能,直到你有性能問題的證據。 – user1666620