Database system and methods are described for improving execution speed of
database queries (e.g., for decision support) by optimizing execution of
nested queries or "subqueries," which are commonly used in client/server
database environments. In particular, the basic approach employed is to
recognize the part of the subquery that is not related to the outer
references and cache the result of that part after its first execution.
Later, the result can be reused and combined with the result of the rest
of the subquery that is changing for each iteration. Methods are employed
to recognize the invariant part of a data flow tree, and to restructure
the evaluation plan to reuse the stored intermediate result. An efficient
method is used to teach an existing join optimizer to understand the
invariant feature and thus allow it to be able to generate better join
plans in the new context. When query rewriting is not possible, therefore,
the invariant technique provides significantly better performance than the
traditional nested iteration method.
Het systeem van het gegevensbestand en de methodes worden beschreven voor het verbeteren van uitvoeringssnelheid van gegevensbestandvragen (b.v., voor ondersteuning van de besluitvorming) door uitvoering van genestelde vragen of "subqueries te optimaliseren," die algemeen in cliƫnt/servergegevensbestandmilieu's worden gebruikt. In het bijzonder de basis aangewende benadering is het deel van subquery te erkennen die niet verwant met de buitenverwijzingen is en brengt het resultaat van dat deel na zijn eerste uitvoering in het voorgeheugen onder. Later, kan het resultaat met het resultaat van de rest van subquery worden opnieuw gebruikt en worden gecombineerd die voor elke herhaling verandert. De methodes zijn aangewend om het onveranderlijke deel van een boom van de gegevensstroom te erkennen, en het evaluatieplan te herstructureren om het opgeslagen tussentijdse resultaat opnieuw te gebruiken. Een efficiƫnte methode wordt gebruikt om te onderwijzen het bestaan zich bij optimizer aansluit om de onveranderlijke eigenschap te begrijpen en zo het toe te staan kunnen produceren aansluit zich beter bij plannen in de nieuwe context. Wanneer vraag herschrijven niet mogelijk is, daarom, verstrekt de onveranderlijke techniek beduidend betere prestaties dan de traditionele genestelde herhalingsmethode.