Hallo Michael,
Wenn ich (in meiner Inkarnation als Perl-Laufzeitsystem)
eine Datenstruktur wie z. B. einen Hash in den
Hauptspeicher laden will, welche dort nicht hinein paßt,
dies aber dadurch tun muß, daß ich deren Speicherabbild
von der Festplatte lese, dann habe ich alle Teile des Hash
(nacheinander) mindestens einmal im Hauptspeicher, bevor
diese Operation fertig ist.
Korrekt.
Für den Platz, welcher von den letzten gelesenen Teilen
belegt wird, müssen dann früher gelesene Teile des Hashes
ausgelagert werden ...
Auch korrekt. Oder andere Programme werden geswappt -- je
nach dem, wie oft du die Teiles des Hashes anforderst.
Ich kann dann verschiedene Teile desselben Indexbaums
unterschiedlich priorisieren bezüglich ihrer Verfügbarkeit
im Hauptspeicher.
Was du aber nicht kannst, ist das Swapping beeinflussen. Wenn
das Betriebssystem sagt 'ne, du, ich brauch jetzt Speicher,
du gehst ab in den Swap', dann tust du das auch. Diesen
Gesetzmaessigkeiten unterliegt *auch* eine DB. Sie kann also
uU gar nicht beeinflussen, ob nun die Knoten oder die
Blaetter geswappt werden oder nicht.
Gruesse,
CK