> I agree one should avoid JOIN at all cost. If one want to build a DOM
tree
> in RDBMS, JOIN will be inevitable (that's why I have some reservations

> over
> eXist). The preliminary idea in my previous email is not to build the
DOM
> tree in order to minimize the JOINs, with the price paid to prepare
those
> XPaths when inserting the document (kind of like a index). 

Why avoid joins?  True, they are costly, and it will be difficult to use
relationally equivalent techniques to shifting selections and
projections down, but joins are a necessary evil, particularly if we are
going to pursue XQuery or almost any other query language than XPath.
That's where the efficiency of the index structures comes in!

One interesting thing I've seen, particularly with the LORE project, is
the use of multiple indices, since XML and semi-structured data have at
least two distinct components - paths in the graph and nodes for the
data.  This is also where you start to lose storage efficiency, though,
and updates are similarly not very efficient...my first thought is that
the all the indices don't need to be stored on disk, or even in memory.

What sort of indexing schemes are we using right now?

Reply via email to