UV indexes are B-trees too. BSCAN allows you to traverse the leaf nodes, rather than go up and down the tree to get to the next leaf node.
But you are right that, within that structure, the dynamic array of primary keys associated with a particular index key value is stored as, well, a dynamic array. It is captured into memory with a single I/O operation (ignoring overflow, which *none* of us has, right? - and even then is relatively rare in UV B-tree structures which use a buffer size of 8KB) and the "linked list" can then be processed at memory speeds. If you want a single function, you can have it in UniVerse. You have your choice of READ or SELECTINDEX. You don't need BSCAN unless that's what you're doing. It scans index values, not primary key values. > ----- Original Message ----- > From: "Bill Haskett" <[EMAIL PROTECTED]> > To: [email protected] > Subject: RE: [U2] UniVerse Index Files > Date: Thu, 28 Aug 2008 11:45:33 -0700 > > > Jerry: > > I was under the impression that UV indexes are some kind of a linked list > (e.g. each index key has all of the IDs associated with it in a single > record). That's why BSCAN is needed to further process the list of IDs. > > Whereas, UniData (and D3) actually uses BTrees where one traverses the tree > with a single function. E.g. if I want "Smith, John H." I goto to "Smi]" > and start traversing up and down with the same function as I want. > > Bill ------- u2-users mailing list [email protected] To unsubscribe please visit http://listserver.u2ug.org/
