Re: About Saxon XQuery Processor
Michael Kay <[email protected]> Mon, 18 May 2015 21:08:43 +0100
| Newsgroups | gmane.comp.web.query-languages |
|---|---|
| Message-ID | <[email protected]> |
You may be using the open-source Saxon-HE implementation, which does not = have a join optimizer; joins are a great deal faster in the commercial = Saxon-EE implementation. However, all SQL implementations that I know of run on persistent data = in a database, and joins usually perform best when you have pre-built = indexes on the relevant data fields. There are many XQuery = implementations designed to run on a database environment with a similar = approach to indexing, and I would expect them to perform equally well. = In this respect Saxon is different because it works on ad-hoc XML data = files, with no opportunity to build indexes manually in advance. = Although Saxon-EE uses indexes to optimize joins, it has to make the = indexing decisions itself based on the actual query. Also, I think the equi-join operation is a lot less important when = dealing with hierarchic data (XML) than when dealing with relational = data (SQL). Most of the time with XQuery, the relationships you need to = use in a query are the hierarchic relationships implicit in the XML, = rather than value-based relationships between primary keys and foreign = keys. The focus in an optimizer is always on optimizing the constructs = that are most used. Michael Kay Saxonica > On 18 May 2015, at 18:48, Yoonmoe Lay <[email protected]> wrote: >=20 > Dear everyone, >=20 > I am a computer science master student from > Myanmar. Now, I am doing analysis of querying system for SQL and > XQuery. May I know why XQuery ( that used Saxon) is slower than SQL in > Join queries? I want also to know why XQuery is faster than SQL expect > Join queries. Please answer my questions as soon as possible. Thank a > lot. >=20 > Best Regards, > Ms. Lwin Moe Aung >=20 >=20 >=20 >=20