RB: isLinked?

Ruslan Zasukhin ruslan_zasukhin at valentina-db.com
Wed Nov 23 02:53:04 CST 2011


On 11/22/11 11:18 AM, "Karl Grob" <kgrob at mus.ch> wrote:

Hi Karl,

> I try to explain:
> 
> I have a list of Records with Text-Fields (In fact records of a DBF-Clipper
> DB). Part of the fields are imported into a tblVariants.
> One of the field "Kat" has a short string in it. Lets say: "Vuz  aAK"
> Every char in this string has a meaning V means "THe author did correct this
> Word" etc.
> Instead of this way (in the Clipper DB), in Valentina I use a linked Table
> lets say "tblCategories" with records representing the Meaning of V, u, z etc.
> 
> Now I read the fields in the DBF-Data, add a record to tblVariants and link
> the record to tblCategories for every meaningful char in DBF-Field "Kat".

Okay, I see task and idea of solution.
 

> If I would try to link the same DBF-record twice to tblVariants the error
> should be thrown for every meaningful char in the field "Kat". But in my case
> (i don't link twice!) there is no error except for "a". Strangely the link is
> established anyway, so DB is correct. The process behaves as if it would add
> the link for char "a" before checking its existence.

Before we talk about links, I want offer you may be better solution. Not
sure.

So you want be able very fast find in table tblVariants some set of records,
according categories.

E.g. Find all words that was corrected by author.

In DBF you did search category field with V char.
This means string operations.
In DBF FoxPro you could to have N indexes I think.


If this is right, then you can solve this task fast using just boolean
fields in the tblVariants

    boolean         isCorrected;
    boolean         isXXXX


Deal is that boolean fields, are VERY EFFECTIVE in the Valentina,
Because of vertical storage.

When you will do SEARCH on isCorrected,
All Valentina do -- just loads  this column AS IS into RAM and this produce
result BitSet ,,, immediately ... There is no need even in index !!!

And you can use AND OR NOT to make operations on few boolean fields.

I think this is fastest way ...


-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]




More information about the Valentina mailing list