EF-6-Parameter-Sniffing

Habe ich eine dynamische Abfrage, die ist einfach zu gross hier zu setzen. Sicher zu sagen, dass in seiner aktuellen form ist es nutzt eine CLR-Prozedur, um dynamisch zu erstellen-Verknüpfungen basierend auf der Anzahl der Suchparameter übergeben, dann nimmt das Ergebnis und schließt es zu den detaillierten Tabellen zurück zu bringen Attribute, die wichtig für den end-user. Ich habe Umgerechnet die ganze Abfrage in LINQ to Entities und dem, was ich gefunden habe, ist, dass der SQL-Code, den es produziert, ist effizient genug, um den job zu erledigen, jedoch laufen über EF 6, die Abfrage timesout. Wobei die resultierende SQL-und es läuft in SSMS läuft in 3 oder weniger Sekunden. Ich kann mir nur vorstellen, dass mein problem ist die parameter-sniffing. Ich habe versucht, aktualisieren der Statistiken für jede Tabelle in der Datenbank und dieser hat das problem nicht gelöst.

Meine Frage ist:

Kann ich irgendwie einbetten-Optionen wie eine "OPTION RECOMPILE" über EF?

  • würde gerne vergleichen, Notizen mit, die Sie auf diese Arten von dynamischen sql-Projekte.
InformationsquelleAutor ewahner | 2014-08-05
Schreibe einen Kommentar