Ich habe ein C#/ASP.NET MVC/Entity Framework-Projekt mit etwas Langsamkeit geerbt. Es gibt nicht viele Daten in der DB, aber Anrufe an .Include()
verursachten Verlangsamungen.Entitätsframework + LINQ Langsamkeit vs String-Abfragegeschwindigkeit?
Allerdings fand ich etwas sehr seltsam. Ich habe eine 2k Zeilen Tabelle mit nur Zahlen (5 Spalten). Ich habe Indizes für die Spalten, die ich suche.
Wenn tun:
_entities.MyTable.Where(x=> x.Id1 == 4 && x.Id2 == 5).First()
es 1800ms auf meine Entwicklung Maschine nimmt.
Allerdings, wenn ich tun:
_entities.MyTable.Where("it.Id1 = 4 and it.Id2 = 5").First()
es dauert wie 10ms.
Was ist das Problem? Ich verstehe nicht, warum der LINQ-Ausdruck so langsam wäre.
Versuchen Sie, un es in LinqPad und vergleichen ihre generierten SQL-Abfrage mit Ihrem eigenen – Tigran
Ist MyTable in jedem Unternehmen geerbt? – daryal
@daryal sorry Ich bin immer noch ein bisschen wie ein Noob, wenn es um EF geht, wie würde das aussehen? Dieses Objekt/Modell ist mit anderen Objekten verknüpft. Die Zahlen in der Tabelle sind Fremdschlüssel für andere Tabellen. –