Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree
    1.
    发明授权
    Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree 有权
    数据库系统具有通过重用操作符树的不变结果来优化相关子查询的性能的方法

    公开(公告)号:US06341281B1

    公开(公告)日:2002-01-22

    申请号:US09285408

    申请日:1999-04-02

    IPC分类号: G06F1730

    摘要: 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.

    摘要翻译: 描述数据库系统和方法,用于通过优化在客户机/服务器数据库环境中通常使用的嵌套查询或“子查询”的执行来提高数据库查询的执行速度(例如,用于决策支持)。 特别地,采用的基本方法是识别与外部引用无关的子查询的部分,并在第一次执行之后缓存该部分的结果。 后来,结果可以重复使用,并与每次迭代正在更改的子查询的其余部分的结果相结合。 采用方法来识别数据流树的不变部分,并重新构建评估计划以重新使用存储的中间结果。 使用一种有效的方法来教导现有的连接优化器来了解不变特征,从而使其能够在新的上下文中生成更好的连接计划。 因此,当不可能进行查询重写时,不变的技术提供比传统的嵌套迭代方法更好的性能。