Max. Anzahl Datensaetze

Thomas Berger ThB.com at t-online.de
Di Nov 16 12:12:05 CET 1999


Lieber Herr Eversberg, liebe Liste,

Bernhard Eversberg wrote:
> 
> Aufbohrung geplant: Maximal moegliche Anzahl Datensaetze

...

> So sieht der von uns weiter praezisierte Berger-Vorschlag aus:
> Momentan ist in der TBL der Anfangspunkt (sog. "Offset") eines jeden Daten-
> satzes mit 3 Byte codiert, wobei ein Datensatz mit seiner exakten Laenge
> abgespeichert wird, ohne ein einziges Byte mehr - wenn man keine Fuellzeichen
> zulaesst. Wenn man nun festlegen wuerde, dass die Laenge eines Datensatzes
> immer ein Vielfaches von N sein muss (N = 2, 3, ...), koennte man die N-fache
> Zahl von Saetzen haben. Es muesste lediglich in der TBL statt der 

Auch wenn Rechner immer schneller werden: Ich wuerde eine
Loesung praeferieren, in der N eine Zweierpotenz ist
(N = 2^n mit n= 0, 1, 2, ...)

Falls (bei Anzeige etc.) haeufig Nachladevorgaenge erfolgen,
kann man hier doch einige Mikrosekunden sparen, indem man
in der Adressberechnung die teuren Multiplikationen und
noch teureren Divisionen durch Verschiebeoperationen 
ersetzt.

Feinere Einstellungen der Multiplikation scheinen mir auch
nicht unbedingt noetig: Wenn ich einen Faktor 11 benoetige,
damit die Datenbank ueberhaupt passt, kann ich auch gleich
einen Faktor 16 nehmen: Auch mit Zweierpotenzen bekomme
ich Datenbanken, die mindestens 50% der jeweils zulaessigen
maximalen Groesse verbrauchen (und etwas Reserve kann ja
nie schaden). Statistisch werden dann ueberfluessigerweise
noch eine Zeierpotenz weniger Fuellzeichen verbraten
(N=16 statt 8+\epsilon => 4*#Datensaetze Bytes zusaetzlich 
verschwendet, bei 100 Millionen Saetzen also etwa 400MB 
auf 32GB, also etwa 1% zusaetzlicher Verlust)

Sinnvolle Zweierpotenzen waeren 0 (derzeitiger Zustand)
1, 2, 3, ..., 7 (einzelne .ald ist 2GB gross, Gesamtgroesse
also 512 GB). Das koennte man in 3 Bit des zweiten Bytes
der .TBL codieren und haette noch 5 Bit frei fuer spaetere
nuetzliche Dinge.

viele Gruesse
Thomas Berger





Mehr Informationen über die Mailingliste Allegro