Re: [HACKERS] Large databases, performance

Martijn van Oosterhout <kleptog@svana.org>

From: Martijn van Oosterhout <kleptog@svana.org>
To: Zeugswetter Andreas SB SD <ZeugswetterA@spardat.at>
Cc: Manfred Koizar <mkoi-pg@aon.at>, shridhar_daithankar@persistent.co.in, pgsql-hackers@postgresql.org, pgsql-general <pgsql-general@postgresql.org>, pgsql-performance@postgresql.org
Date: 2002-10-08T22:51:11Z
Lists: pgsql-hackers, pgsql-performance, pgsql-general
On Mon, Oct 07, 2002 at 05:42:12PM +0200, Zeugswetter Andreas SB SD wrote:
> > Hackers, do you think it's possible to hack together a quick and dirty
> > patch, so that string length is represented by one byte?  IOW can a
> > database be built that doesn't contain any char/varchar/text value
> > longer than 255 characters in the catalog?
> 
> Since he is only using fixchar how about doing a fixchar implemetation, that 
> does not store length at all ? It is the same for every row anyways !

Remember that in Unicode, 1 char != 1 byte. In fact, any encoding that's not
Latin will have a problem. I guess you could put a warning on it: not for
use for asian character sets. So what do you do if someone tries to insert
such a string anyway?

Perhaps a better approach is to vary the number of bytes used for the
length. So one byte for lengths < 64, two bytes for lengths < 16384.
Unfortunatly, two bits in the length are already used (IIRC) for other
things making it a bit more tricky.
-- 
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> There are 10 kinds of people in the world, those that can do binary
> arithmetic and those that can't.