Meine Datenbank ist ungefähr 1 GB groß (gemäß der MDF-Datei meiner Datenbank). Mein Datenbankserver hat 4 GB RAM. Betrachtet man den Speicherverbrauch des Computers im aktiven Zustand, so wird er zu etwa 85% genutzt (einschließlich Betriebssystem usw.).
Bedeutet dies, dass alle DB-Leseaktivitäten nur im Speicher ausgeführt werden (dh die gesamte Datenbank befindet sich im Speicher)? oder gibt es noch einen Fall, in dem es auf die Festplatte gehen müsste?
Antworten:
Ja, die gesamte Datenbank wird wahrscheinlich im Speicher gespeichert. In Checkpoint-Intervallen werden verschmutzte Seiten auf die Festplatte geschrieben. Beachten Sie jedoch, dass alle Aktualisierungen in das Protokoll schreiben und warten müssen, bis die Protokolldatensätze auf einem dauerhaften Speicher gespeichert sind, bevor sie festgeschrieben werden. Diese alten SQL Server 2000-E / A-Grundlagen enthalten alle Details, die Sie jemals benötigen werden, und vieles mehr.
Aber Sie müssen nicht raten, Sie können dies genau messen und sehen, ob es passiert oder nicht. Die relevanten Leistungsindikatoren sind:
quelle
My database is about 1gb in size (according to the mdf file of my db). My database server has 4gb of ram.
. Wenn Sie eine Antwort für den Fall wünschen, wenn Sie 60 Websites haben und wie das Zwischenspeichern von Pufferpools in diesem Fall funktioniert, dann stellen Sie diese Frage :)you don't have to guess, you can measure this exactly
.Die gesamte Datenbank (dh Daten) würde nicht im Speicher (SQL Server) gespeichert. Nach dem Untersuchen von Indizes und / oder Schlüsseln wird ein Zeiger darauf abgerufen, wo sich in der Datendatei die gesuchten Daten befinden, und dann wahrscheinlich auf die Disc verschoben, um sie abzurufen. Wenn keine Schlüssel oder Indizes vorhanden wären, müsste der gesamte Heap gescannt werden.
Abhängig davon, welche Version von SQL Server Sie ausführen, gibt es möglicherweise Strategien zum Zwischenspeichern häufig verwendeter Daten, um das Lesen von Datenträgern zu minimieren.
Sie KÖNNEN speicherinterne DBs erhalten, z. B. eine MySql-Cluster-Datenbank. Diese Datenbank ist so konzipiert, dass sie die GESAMTE Datenbank über einen Cluster von Servern in den Speicher einfügt, um eine hohe Verfügbarkeit / Notfallwiederherstellung und einen schnellen Datenabruf zu gewährleisten.
quelle