RE: XQuery and DTD/Schema?
> Static typing can help optimize low-level operations that are > close to the machine (for instance this is why as a rule SML > is more efficient than Scheme), but languages that do heroic > optimizations -- APL, SQL, and Common Lisp for instance -- > tend to be dynamically typed. Static typing is neither > necessary nor sufficient. > > What optimization strategies does the XQuery type system > enable? Has anyone implemented, or even just designed, a > database access optimizer that takes advantage of it? The most important optimization in database languages is selection of indexes. By definition this needs to be done statically: if you have to look at the data in order to decide whether to use an index, the index serves no purpose. If the query is employee[salary > 100000] then to use an index on salary, at the very least you have to know that the index was built using the same assumptions about the ">" operator as the query is using. So some kind of static analysis is necessary. And some of the characteristics of the XPath 1.0 dynamic typing rules (which say, for example that "1.0" = "1" is false, but "1.0" <= "1" is true) become a major embarassment. I have argued in the past that the static analysis you need to do for optimization isn't precisely the same as you do for static typing of programming languages; but it certainly has a lot in common. Tamino's optimizer certainly uses this kind of analysis. When you are dealing with terabytes of data, there is no other option. Michael Kay Software AG home: Michael.H.Kay@n... work: Michael.Kay@s...
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format