Subject Re: AW: [firebird-support] Re: varchar fields and memory
Author Helen Borrie
At 08:47 AM 8/09/2004 +0200, you wrote:
> > Page 165 Transport accross the Network
> > with 1.5 VarChar data is (are ??) not padded, sent is length and unpadded
>His questions was about memory usage, not traffic.
> > do I use 1 MB of client station memory to return 1000 records even if
> > they contain on average 50 characters? or do I use 50 kB?
> > Does server internally use 100 MB to perform grouping from 100.000
> > records?
>And I would be interested in an answer also.

My take is that, if the varchar is in the output set, then it must allocate
that space for sorting. As to whether it takes all of it from memory or
from sort space on disk will depend on 1) version (Fb 1.0 doesn't use RAM
for sorts) and 2) available RAM. You can configure 1.5 to limit or extend
the amount of RAM it takes for sorts, as well.

As a designer, I wouldn't define a 1K varchar for data that was likely to
be only 50 bytes; and I wouldn't use a 1K varchar as a grouping or sorting
criterion for 100,000 records (that would be a verrrrrry expensive
non-indexed sort!!); and, if I were going to be drawing sets of that
magnitude I'd definitely store variable text of that size in blobs.