Consultor Eletrônico



Kbase P146305: How much space does an integer or int64 field take on disk?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/18/2009
Status: Unverified

GOAL:

Does a 64-bit integer immediately take 8 bytes of space, on disk, in the database?

GOAL:

How much space does an integer or int64 field take on disk?

GOAL:

How much space does an integer or int64 field take in memory?

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Product Family

FIX:

All Progress / OpenEdge numbers are actually variable in size while on disk.
They can take as little as 1 byte and as much as 8 bytes depending on the value of the integer.
We do not preallocate 4 (for standard 32-bit int) or 8 (for 64-bit int) bytes of space when storing an integer or int64 field on disk.

In memory, however, the value is immediately expanded to take 8 bytes of space in RAM.
This is so if the value is modified in memory to be an 8 byte value there will be no problems with writing to the memory space that was already allocated.