Re: Saving derived views

mARK bLOORE <[email protected]>
Newsgroups gmane.comp.db.metakit
Message-ID <[email protected]>
On Fri, 26 Nov 2004 12:42:18 +0100, Jean-Claude Wippler <[email protected]> wrote:
...
> What I mean is, why use:
>         view[a1:I,a2:I,a3:I,...]
> when you can do:
>         view[all[a:I]]
> and use double indexing?
> 
> It's bound to scale better than the first, especially for 20K property
> names.  If the types are not all integers, then you could use:
>         view[ints[a:I],strings[a:S],floats[a:F]]

i had a design where i was essentially duplicating a folder tree by
storing the folder's path in a string, and the files in it in a
subview:

stuff[folderpath:S,files[id:I,name:S]]
(and other data, of course.  note that it is not fully heirarchical,
just two levels.)

i found that when there were many rows (say 100,000) it was very slow
to open.  it seems to go through them all to get some metadata on the
subviews.

i changed to using two views:

folders[id:I,path:S]
files[id:I,folderid:I,name:S]

this was much, much faster, and as it turned out nearly all the code
for dealing with it (mostly, searching or traversing the tree) was
much simpler too.

(a sidenote:  it looks like metakit couldn't do a real folder tree,
since there  is no type which says "this is an arbitrary, dynamically
allocated, metakit type".  i'm not sure such flexibility would be a
good thing anyway, though the "store by columns" design would probably
make it fairly easy.  hmm, maybe not such a bad idea, that could
extend metakit from a relational database into the realm of
object-oriented DBs.)

-- 
mARK bLOORE <[email protected]>
_____________________________________________
Metakit mailing list  -  [email protected]
http://www.equi4.com/mailman/listinfo/metakit
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.