1

How to determine how much storage space on the disk a column takes in a table in Oracle?

I'm running Oracle 11gR2 11.2.0.3.

1 Answer 1

2

You can use the VSIZE to get the number of bytes for the internal representation of a value.

If you want the total space used by a column, you'll need to sum over all the rows (unless the type used has a fixed length).

The DUMP function will also give you the size and raw representation of a value, but not in a format amenable to easy summation.

3
  • Thanks. Does Oracle never tries to compress table data, e.g. if it realizes all values for a given column is the same? May 1, 2015 at 15:56
  • 1
    Not if you don't tell it to. There are various options for that depending on your scenario and your budget. Index compression works like you describe though.
    – Mat
    May 1, 2015 at 15:57
  • The link for VSIZE is wrong or outdated - it points to VARIANCE. Here is the correct link: docs.oracle.com/database/121/SQLRF/functions249.htm#SQLRF06162 May 30, 2019 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.