[elektro] Random file kiolvasás

Nya'ri Viktor office at flexelec.hu
Tue Dec 29 13:25:09 CET 2009


Hello, Lista!

Excel-ben makrózgatok éppen.
Kérdés:
Van egy random file, amiben 4byte-os LONG típusú változók vannak 
tárolva, szépen egymás után. Mondjuk 10millió rekord van benne, így a 
file hossza 40MByte.

Ha megnyitom a file-t beolvasásra, akkor mit csinál a háttérben?

a, - beolvassa az egész file-t memóriába (azaz lefoglal 40MByte-ot a 
RAM-ból) és onnan szedegeti elő az éppen bekért 4Byte-os adatot

b, - vagy RAM-ba olvasás nélkül, egyből a a file-ból (lemezről, esetleg 
a winyó pufferéből?) kéri elő az éppen bekért 4Byte-os adatot?

Hogy működik ez a háttérben?

Na csak azért, mert az esetek nagy többségében szekvenciális lenne a 
kiolvasás, de egyszer-egyszer kell pozicionáltan is kiolvasni.
Ergó: jó az, ha van egy nagy adatfile-om, vagy érdemesebb széttördelni 
kisebb méretekre?

Mert egy darab file-ban könnyebb seek-et állítani, és szekvenciálisan is 
gyorsabb a kiolvasás, viszont ha beül a RAM-ba, akkor nagy helyet foglal.
Ha viszont van sok kisebb file, akkor macerásabb/lassabb ugyan a 
kiolvasás/keresés, de ha RAM-ba átkerül a file, akkor viszont kevesebb 
helyet foglal.

Szóval hogy is működik ez a háttérben?

V.



More information about the Elektro mailing list