1

Unser aktuelles System wurde wie folgt aufgebaut:Können SqlServer In-Memory-Tabellen durch ASP.NET-Cache ersetzt werden?

Wir haben etwa 5 Millionen Datensätze in einer DB-Tabelle. Je nach Bedarf erhalten wir, sagen wir eine Ergebnismenge von 1 Million Datensätzen und behalten sie im Cache während der gesamten Anwendung, wenn wir fertig sind, loswerden sie.

Nun, anstatt den Speicher der .NET-Anwendung zu verwenden, "Ist es möglich, In-Memory-Tabellen zu verwenden, um diese 1 Million Datensätze in einer In-Memory-Tabelle zu behalten, während Festplatte-basierte Tabelle noch 5 Millionen Datensätze hält?"

Antwort

1

Das ist möglich. Die Leistung ist immer noch geringer als bei In-Process-Daten. Eine der teuersten Aufgaben bei der Ausführung einer billigen SQL-Anweisung ist der gesamte Aufwand, irgendetwas überhaupt auszuführen (Netzwerk, Serialisierung, ...).

Sie müssen messen (oder ein gutes Verständnis davon haben), ob die jetzt reduzierte Leistung immer noch ausreicht.

Wenn das bestehende System ohne Probleme funktioniert, müssen Sie nichts ändern.

+0

sollen wir damit umgehen, jedes mal wie "Wählen in ...". Irgendein eingebauter Mechanismus, um dies zu erreichen, nur um es zu automatisieren? – Jude

+0

Nichts automatisiert dort. Außerdem werden Sie feststellen, dass Hekaton mehr Arbeitsaufwand erfordert als andere Tabellen. Wenn Sie Arbeit sparen möchten, ist diese Option nicht so attraktiv. Wenn Sie mehr über Ihre Leistungsziele und die ausgeführten Abfragen erfahren, kann ich Ihnen vielleicht etwas empfehlen – usr

0

SQL Server verfügt bereits über erweiterte Caching-Algorithmen. Wie groß ist dein Tisch? 5 Millionen Zeilen sind heutzutage nicht mehr so ​​groß, die gesamte Tabelle ist möglicherweise bereits im Speicher zwischengespeichert und Sie können SELECT-Abfragen nur nach Primärschlüssel verwenden.

Verwandte Themen