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.