I think it's not quite so e.g. all characters in the memory are 2 bytes and serialized there are in UTF-8
here is article about it:
Michal Malecki

You could serialize the results it to disk.  That would give you a pessimistic estimation of the size it will be in memory.  That is, the cost of serialization will be higher than the amount of RAM used, so you can feel relatively confident that it will be smaller in memory.


On 7/21/05, Nathan Maves <Nathan.Maves@sun.com> wrote:
What is the best and most accurate way to calculate the space needed
to cache a query.

Say I have a query that returns 5 strings on average of 20 chars each.

The query returns 5000 rows.

I know this seems high but just humor me and remember I have access
to big servers here at Sun :)