[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