Kann ich die Anforderung der SQL Server-cache, um ein bestimmtes Ergebnis festgelegt?
Gibt es eine bestimmte Abfrage, die aufgerufen wird, die von einer ASP .NET-Seite. Ich studierte den Ausführungsplan der Abfrage im Management Studio, und 87% ist für eine Art. Ich brauchen dringend die Sortierung oder aber die angezeigten Daten sinnlos wäre.
Ist es trotzdem, dass ich die Anforderung der SQL Server-cache eine sortierte Ergebnismenge, so wird es wieder die Daten schneller in konsequenter läuft?
Oder SQL Server smart genug, um den cache-handling und mache ich Fehler, indem Sie versuchen, es zu zwingen, cache-Ergebnisse, wenn das möglich ist?
Alle relevanten Informationen werden sehr geschätzt, und vielen Dank im Voraus 🙂
UPDATE:
Ich habe gerade in einem Artikel gelesen, dass das erstellen einer Ansicht mit einem gruppierten index erhöht die performance, da der index Speicherung der Daten in einer Ansicht auf der Festplatte. Ist das wahr? Wie bekomme ich über das tun dies? Keine Artikel?
InformationsquelleAutor Ranhiru Cooray | 2010-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz gesagt, Nein: nicht auf dem SQL server-Ende; es wird natürlich ein laden der Daten in den Speicher, wenn möglich, und cache der Ausführungsplan - so dass nachfolgende Aufrufe werden kann schneller, aber man kann es nicht speichern die Ergebnisse.
Optionen:
InformationsquelleAutor Marc Gravell
Während Sie kann erstellen Sie eine indizierte Sicht, wie Sie anscheinend in Ihrem update haben, sollten Sie sich bewusst sein, dass:
InformationsquelleAutor Damien_The_Unbeliever
Eine option, die manchmal verwendet wird, zum speichern der sortierten Daten in einer zweiten Tabelle. Dies könnte z.B. eine temporäre Tabelle, die Sie erstellen, die nur für die session, oder eine cache-Tabelle für die gesamte Datenbank.
InformationsquelleAutor Pieter van Ginkel
Wieder, SQL-server selbst den cache häufigen Abfragen im Speicher. Sie können dies testen, indem Sie mithilfe von query analyzer, und ausführen einer komplexen Abfrage ein paar mal, jedes mal wird es schneller. Angesichts dieser einen permanenten cache vielleicht nicht nötig.
Wenn es ist, empfehle ich die Verwendung einer cache-Tabelle und ausführen der Abfrage und einfügen der Werte in die andere Tabelle. Sie können entweder eine Anwendung variable oder einer anderen sql-Tabelle, um zu bestimmen, Wann der cache aktualisiert werden wieder.
Beispiel-Abfrage für das einfügen in die cache-Tabelle:
Insert Into-Cache-Wert Wählen, den Wert aus Tabelle 1 Order by-Feld
InformationsquelleAutor Brian Smith