Ich muss meinen Datenzugriff über ADO.Net optimieren. Für Anfragen des Projekts kann ich nicht Linq oder Entity ...Abfragen parallel ausführen
So starten ich 15 unabhängige ADO.NET Abfragen. Ich folge den Standards, öffne die Verbindung, starte die Abfrage, benutze den DataReader um die Daten zu bekommen, speichere sie in Klassen und schließe schließlich die Verbindung ...
Aber ich fühle mich wie das Projekt ist nicht schnell genug. Also, Jungs, können Sie mir alle ein paar Tipps zur Verbesserung der Geschwindigkeit beibringen?
Meine Datenbank ist SQL Server, und soweit ich kann, laue ich Abfragen nach Entitäten.
EDITED:
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;
}
Sie sollten den Code und die Abfragen zeigen ... –
@Gilad Green. Warum? Standard-Abfragen mit Standard-Code ... Die Abfragen sind optimiert und der Code ist der Standard ... Wie auch immer, nur für wenn ich etwas vermisse, bearbeite ich es ... –
Ya kann ich das verstehen, aber ich sage über Code und Abfragen, denn vielleicht kann man Abfragen beitreten oder vielleicht können Sie Dinge parallel tun. In jedem Fall, um das zu bestimmen und keine irrelevanten Antworten zu geben, ist ein Code nützlich –