Subject Re: [firebird-support] Re: ORDER BY on large VARCHAR columns
Author Helen Borrie
At 08:46 PM 27/10/2004 +0000, you wrote:

>--- In, Helen Borrie <helebor@t...>
> >
> > An index can't be larger than 253 bytes. In many character sets
>it is
> > less, in some cases a LOT less. Also, multi-segment indexes eat
>even more
> > out of those 253 bytes.
>Yep. For me I am using UNICODE_FSS, so each segment can only be
>VARCHAR(84). Sigh.

Unfortunately, no. The TOTAL width of an index (all segments + the
linkages and other noise) is 253 bytes.

That's the bad news. The good news is that you don't need compound
indexes. The optimizer is happy (even happIER) to work with a set of
single-column indexes.

If you have a requirement for uniqueness across all segments then you have
a different (architectural) problem to resolve. The language has no way to
do it for you

>Lots of segments. And I may have misunderstood
>the trigger, but I think mine would be just the opposite. I would be
>inserting Full_Path, and substringing that out to each segment. Does
>that make sense?

This is what you're using the RegEx UDF for, right?