Efficient implementation of an index structure for multi-column bi-directional searches
    1.
    发明授权
    Efficient implementation of an index structure for multi-column bi-directional searches 有权
    高效实施多列双向搜索的索引结构

    公开(公告)号:US06965894B2

    公开(公告)日:2005-11-15

    申请号:US10104684

    申请日:2002-03-22

    IPC分类号: G06F17/30

    摘要: An index structure for use by a database management system comprises a variant of a Patricia tree, wherein each node stores a column value that identifies a specified column of the constructed n-column search key that is used to determine a next path taken through the tree, a null value N that specifies whether a null value or an actual data value of the specified column of the constructed n-column search key is used to determine the next path taken through the tree, and a position value that specifies a portion of the specified column from the constructed n-column search key to be used to determine the next path taken through the tree when the actual data value of the specified column of the constructed n-column search key is used to determine the next path taken through the tree.

    摘要翻译: 由数据库管理系统使用的索引结构包括Patricia树的变体,其中每个节点存储列值,该列标识用于确定通过该树取得的下一路径的构造的n列搜索关键字的指定列 指定空值N,其指定构造的n列搜索关键字的指定列的空值或实际数据值是否用于确定通过树取得的下一个路径,以及位置值,其指定 指定的列从构造的n列搜索关键字用于确定通过树获取的下一个路径,当构造的n列搜索关键字的指定列的实际数据值用于确定通过树获取的下一个路径 。

    Optimization of SQL queries using universal quantifiers, set
intersection, and max/min aggregation in the presence of nullable
columns
    3.
    发明授权
    Optimization of SQL queries using universal quantifiers, set intersection, and max/min aggregation in the presence of nullable columns 失效
    在存在可空列的情况下,使用通用量词,设置交集和最大/最小聚合优化SQL查询

    公开(公告)号:US5590324A

    公开(公告)日:1996-12-31

    申请号:US384925

    申请日:1995-02-07

    IPC分类号: G06F17/30

    摘要: A method and apparatus for optimizing SQL queries by propagating and exploiting column nullability. Column nullability is identified and propagated using a three-valued logic, wherein a column of a table can be identified nullability information is exploited to optimize query operations through transformations. In one aspect of the present invention, quantified predicates (such as ">ALL") are transformed into simple predicates involving singleton subqueries so that indexing can be exploited. In another aspect of the present invention, "is not null" predicates are generated and pushed for certain aggregate queries. In still another aspect of the present invention, intersect operations are transformed into joins. The end result is that the present invention can significantly enhance the performance of the queries.

    摘要翻译: 通过传播和利用列可空性来优化SQL查询的方法和装置。 使用三值逻辑来识别和传播列可空性,其中可以识别表的列可利用性来利用信息来优化通过转换的查询操作。 在本发明的一个方面,量化谓词(例如“> ALL”)被转换成涉及单例子查询的简单谓词,以便可以利用索引。 在本发明的另一方面,“不为空”的谓词被生成并被推送用于某些聚合查询。 在本发明的另一方面,相交操作被转换为联接。 最终结果是本发明可以显着提高查询的性能。

    GENERATING STATISTICAL VIEWS IN A DATABASE SYSTEM
    4.
    发明申请
    GENERATING STATISTICAL VIEWS IN A DATABASE SYSTEM 有权
    在数据库系统中生成统计视图

    公开(公告)号:US20130198165A1

    公开(公告)日:2013-08-01

    申请号:US13361800

    申请日:2012-01-30

    IPC分类号: G06F17/30 G06F7/00

    CPC分类号: G06F17/30463 G06F17/30289

    摘要: Techniques are disclosed for generating statistical views in a database system. In one embodiment, a request is received to execute a database workload. One or more constraints pertaining to executing the database workload is retrieved. The database workload is evaluated to generate multiple statistical view candidates. The statistical view candidates are refined based on the one or more constraints. One or more statistical views are then generated based on the refined statistical view candidates.

    摘要翻译: 公开了用于在数据库系统中生成统计视图的技术。 在一个实施例中,接收到执行数据库工作负载的请求。 检索与执行数据库工作负载有关的一个或多个约束。 评估数据库工作负载以生成多个统计视图候选。 基于一个或多个约束来改进统计视图候选。 然后,基于精细的统计视图候选来生成一个或多个统计视图。

    Redundant join elimination and sub-query elimination using subsumption
    6.
    发明授权
    Redundant join elimination and sub-query elimination using subsumption 有权
    使用包含冗余加入消除和子查询消除

    公开(公告)号:US07587383B2

    公开(公告)日:2009-09-08

    申请号:US10377896

    申请日:2003-02-27

    IPC分类号: G06F7/00 G06F17/30

    摘要: A method, computer readable medium, and system for optimizing a query in a relational database processing system is disclosed. The present invention relates to a query rewrite optimization method for eliminating a redundant join and equivalent subquery in an SQL query before generation and selection of the optimal query execution plan. The method of the present invention includes evaluating the query to identify a join predicate joining a sub-expression of the query to itself, and determining whether a row set producible from a first set of references of the query to the sub-expression is subsumed by a row set producible from a second set of references of the query to the sub-expression. Based on such evaluation and determination, the query may be reformed to eliminate the join predicate and the second quantifier. A further determination of the removability of the second quantifier may be required such as by evaluating a cardinality constraint when query output cardinality is material.

    摘要翻译: 公开了一种在关系数据库处理系统中优化查询的方法,计算机可读介质和系统。 本发明涉及在生成和选择最优查询执行计划之前消除SQL查询中的冗余连接和等效子查询的查询重写优化方法。 本发明的方法包括评估查询以识别将查询的子表达式连接到其自身的连接谓词,以及确定从第一组查询引用到子表达式的行集合是否被 一组可从查询的第二组引用生成的子集。 基于这样的评估和确定,可以改进查询以消除连接谓词和第二定量。 可能需要进一步确定第二量词的可移除性,例如当查询输出基数是重要的时通过评估基数约束。

    Exploitation of uniqueness properties using a 1-tuple condition for the
optimization of SQL queries
    7.
    发明授权
    Exploitation of uniqueness properties using a 1-tuple condition for the optimization of SQL queries 失效
    使用1元组条件来挖掘唯一性属性来优化SQL查询

    公开(公告)号:US5615361A

    公开(公告)日:1997-03-25

    申请号:US384759

    申请日:1995-02-07

    IPC分类号: G06F17/30

    摘要: The present invention optimizes SQL queries by exploiting uniqueness properties. In identifying whether the generalized 1-tuple condition exists, the query is first analyzed to determine whether any columns referenced in a predicate of the query are bound. According to the present invention, columns may be bound to constant values or correlated columns or columns that are already bound. The bound columns, if any, are then analyzed to determine whether any of the bound columns comprise a key for its associated table. If these conditions exist, then the query satisfies the 1-tuple condition, in that it returns at most one tuple. Once the generalized 1-tuple condition has been identified to exist for the query, important query transformations can be performed for optimization purposes. These query transformations comprise the transformation of scalar subqueries into joins, or the elimination of distinctiveness requirements (i.e., DISTINCT keywords) from SELECT clauses.

    摘要翻译: 本发明通过利用唯一性来优化SQL查询。 在识别广义1元组条件是否存在时,首先分析查询以确定查询谓词中引用的任何列是否被绑定。 根据本发明,列可以绑定到已经结合的常数值或相关的列或列。 然后分析绑定的列(如果有的话),以确定任何绑定列是否包含其关联表的键。 如果这些条件存在,则查询满足1元组条件,因为它最多返回一个元组。 一旦确定了查询的广义1元组条件,就可以执行重要的查询转换来进行优化。 这些查询转换包括将标量子查询转换为联接,或从SELECT子句中消除明确性要求(即DISTINCT关键字)。

    Optimization of SQL queries using early-out join transformations of
column-bound relational tables
    8.
    发明授权
    Optimization of SQL queries using early-out join transformations of column-bound relational tables 失效
    使用列关联表的早期连接变换优化SQL查询

    公开(公告)号:US5548758A

    公开(公告)日:1996-08-20

    申请号:US463968

    申请日:1995-06-05

    IPC分类号: G06F17/30

    摘要: A method and apparatus for optimizing SQL queries in a relational database management system uses early-out join transformations. An early-out join comprises a many-to-one existential join, wherein the join scans an inner table for a match for each row of the outer table and terminates the scan for each row of the outer table when a single match is found in the inner table. To transform a many-to-many join to an early-out join, the query must include a requirement for distinctiveness, either explicitly or implicitly, in one or more result columns for the join operation. Distinctiveness can be specified using the DISTINCT keyword in the SELECT clause or can be implied from the predicates present in the query. The early-out join transformation also requires that no columns of the inner table be referenced after the join, or if an inner table column is referenced after the join, that each referenced column be "bound". A referenced column can be bound in one of three ways: (1) an inner table column can be bound to a constant through an equality predicate, (2) an inner table column can be bound to an outer table column, or (3) an inner table column can be bound to a correlated value, wherein the correlated value originates outside the query block. In all three cases, an inner table column can be bound through the transitivity of equality predicates.

    摘要翻译: 用于优化关系数据库管理系统中的SQL查询的方法和装置使用早期连接变换。 早期连接包括多对一存在连接,其中,连接扫描内部表以获取外部表的每一行的匹配,并且当找到单个匹配时终止外部表的每一行的扫描 内表。 要将多对多连接转换为早期连接,查询必须在连接操作的一个或多个结果列中明确或隐式地包含独特性的要求。 可以使用SELECT子句中的DISTINCT关键字指定不同之处,也可以从查询中存在的谓词中暗示。 早期连接转换还要求在连接之后不引用内部列的列,或者如果在连接之后引用了内部列列,则每个引用的列都将被“绑定”。 引用的列可以通过三种方式之一来绑定:(1)内表列可以通过相等谓词绑定到常量,(2)内表列可绑定到外表列,或(3) 可以将内表列绑定到相关值,其中相关值起始于查询块之外。 在所有三种情况下,内表列可以通过相等谓词的传递性来约束。

    System for optimizing correlated SQL queries in a relational database
using magic decorrelation
    9.
    发明授权
    System for optimizing correlated SQL queries in a relational database using magic decorrelation 失效
    使用魔术去相关优化关系数据库中的相关SQL查询的系统

    公开(公告)号:US5548755A

    公开(公告)日:1996-08-20

    申请号:US390832

    申请日:1995-02-17

    IPC分类号: G06F17/30

    摘要: A system for optimizing SQL queries in a relational database management system using magic decorrelation. After representing an assembly of multiple SQL queries in computer memory using data structures configured in the query box representation ("QBR") format, queries amenable to decorrelation are identified, and FEED and ABSORB stages are applied to rewrite the QBR in decorrelated form. The FEED stage generates a set of correlation values that the subquery can use to decorrelate. The ABSORB stage decorrelates the subquery using the correlation values prepared by the FEED stage, resulting in the correlation bindings being absorbed into the subquery. The invention thereby takes full advantage of set-at-a-time, rather than tuple-at-a-time, processing.

    摘要翻译: 一种使用魔术去相关优化关系数据库管理系统中的SQL查询的系统。 在使用以查询框表示(“QBR”)格式配置的数据结构表示计算机内存中的多个SQL查询的汇编后,可以识别易于解相关的查询,并且应用FEED和ABSORB阶段以解相关的形式重写QBR。 FEED阶段生成子查询可用于去相关的一组相关值。 ABSORB阶段使用由FEED阶段准备的相关值来解析子查询,导致相关绑定被吸收到子查询中。 因此,本发明充分利用了一次设置,而不是一时一个的处理。

    Optimization of SQL queries using early-out join transformations
    10.
    发明授权
    Optimization of SQL queries using early-out join transformations 失效
    使用Early-out连接变换优化SQL查询

    公开(公告)号:US5548754A

    公开(公告)日:1996-08-20

    申请号:US385177

    申请日:1995-02-07

    IPC分类号: G06F17/30

    摘要: A method and apparatus for optimizing SQL queries in a relational database management system uses early-out join transformations. An early-out join comprises a many-to-one existential join, wherein the join scans an inner table for a match for each row of the outer table and terminates the scan for each row of the outer table when a single match is found in the inner table. To transform a many-to-many join to an early-out join, the query must include a requirement for distinctiveness, either explicitly or implicitly, in one or more result columns for the join operation. Distinctiveness can be specified using the DISTINCT keyword in the SELECT clause or can be implied from the predicates present in the query. The early-out join transformation also requires that no columns of the inner table be referenced after the join, or if an inner table column is referenced after the join, that each referenced column be "bound". A referenced column can be bound in one of three ways: (1) an inner table column can be bound to a constant through an equality predicate, (2) an inner table column can be bound to an outer table column, or (3) an inner table column can be bound to a correlated value, wherein the correlated value originates outside the query block. In all three cases, an inner table column can be bound through the transitivity of equality predicates.

    摘要翻译: 用于优化关系数据库管理系统中的SQL查询的方法和装置使用早期连接变换。 早期连接包括多对一存在连接,其中,连接扫描内部表以获取外部表的每一行的匹配,并且当找到单个匹配时终止外部表的每一行的扫描 内表。 要将多对多连接转换为早期连接,查询必须在连接操作的一个或多个结果列中明确或隐式地包含独特性的要求。 可以使用SELECT子句中的DISTINCT关键字指定不同之处,也可以从查询中存在的谓词中暗示。 早期连接转换还要求在连接之后不引用内部列的列,或者如果在连接之后引用了内部列列,则每个引用的列都将被“绑定”。 引用的列可以通过三种方式之一来绑定:(1)内表列可以通过相等谓词绑定到常量,(2)内表列可绑定到外表列,或(3) 可以将内表列绑定到相关值,其中相关值起始于查询块之外。 在所有三种情况下,内表列可以通过相等谓词的传递性来约束。