我需要通過ADO.Net優化數據訪問。爲項目requeriments我不能使用Linq或實體...並行運行查詢
因此,我推出15個獨立ADO.NET查詢。我遵循的標準,打開連接,啓動查詢,使用DataReader獲取數據,將它們存儲在類中,最後我關閉連接...
但我感覺像項目是不夠快。所以,夥計們,你們能否教我一些提高速度的技巧?
我的數據庫是SQL Server,並且據我所知,我正在查詢實體的查詢。
編輯:
private void Connect(string comando) {
try {
string cadena = "connection_data";
Cn = new SqlConnection(cadena);
Cn.Open();
SqlCommand Com = new SqlCommand(comando, Cn);
Datos = Com.ExecuteReader();
}
catch (Exception e)
{
//
}
}
private void Close()
{
try
{
Cn.Close();
Datos.Close();
}
catch (Exception e)
{
//
}
}
public List<class1> getClass1(double id)
{
Connect("SELECT TOP (5) CASE WHEN [table1].[attribute1] IN (7, 12, 13, 14, 15, 16, 17, 18, 19, 28, 29) THEN 'random_name' " +
"WHEN [table1].[attribute3] = NULL AND [table1].[attribute2] = NULL THEN 'random_name2' WHEN [table1].[attribute3] = NULL THEN [table1].[attribute3] ELSE "
// bla bla bla bla and so on and I have 15 massive queries like this one;
List<class1> res = new List<class1>();
if (Datos.HasRows == true)
{
while (Datos.Read())
{
class1obj = new class1();
obj.at1= class1.cont + 1;
obj.at2= class1.cont + 1;
class1.cont++;
obj.at3= "random_value";
obj.at4= Datos.GetValue(0);
obj.at5= Datos.GetValue(1);
res.Add(obj);
}
Close();
}
return res;
}
您應該顯示代碼和查詢... –
@Gilad Green。爲什麼?標準代碼的標準查詢...查詢已優化,代碼是標準的...無論如何,只是爲了如果我錯過了一些東西,我編輯它... –
雅我可以理解,但我說關於代碼和查詢,因爲也許你可以加入查詢,或者你可以並行執行。在任何情況下,爲了確定而不是給出不相關的答案,某些代碼是有用的。 –