Ich habe diese Methode, die true oder false basierend darauf zurückgibt, ob eine Website Seiten mit externen Verknüpfungen hat.linq-Abfrage, die zu Leistungsproblemen führt
Die Methode funktioniert. Es ist jedoch unglaublich langsam. Es dauert etwa 5 Sekunden, um 100 Websites mit insgesamt 5000 Seiten zu bearbeiten.
protected bool WebsitesWithExternalLinks(int id)
{
var website = FetchModel(id);
if (website == null) return false;
//return true;
var externalLinks = website.WebPages
.Any(wp => wp.Links != null &&
wp.Links.ExternalLinks.Any());
return externalLinks;
}
ich aufgezeigt habe die Langsamkeit irgendwo in der Linq-Abfrage auftreten, aber ich bin mir nicht ganz sicher, warum es passiert. Ich habe andere linq-Abfragen, die auf WebSite- und WebSage-Objekten arbeiten, die ziemlich schnell sind.
Ich bin mir nicht sicher, warum dieser so langsam ist.
Gibt es eine Möglichkeit, linq-Abfragen zu beschleunigen oder durch etwas anderes zu ersetzen?
Angenommen, dies fragt eine Datenbank ab, können Sie das Schema der relevanten Tabellen posten? –