Delaying evaluation of expensive expressions in a query
    1.
    发明授权
    Delaying evaluation of expensive expressions in a query 有权
    在查询中延迟评估昂贵的表达式

    公开(公告)号:US07877379B2

    公开(公告)日:2011-01-25

    申请号:US11242361

    申请日:2005-09-30

    IPC分类号: G06F7/00

    摘要: Techniques are provided for delaying evaluation of expensive expressions in a query. Expensive expressions in the query are established by cost information or by looking up a list of known expensive expressions for a match. After an execution plan is determined by using the early evaluation technique, one or more equivalent execution plans is established. The one or more equivalent execution plans may include both a type of execution plans that delay evaluation of expensive expressions and a type of execution plans that do not. In addition, the one or more equivalent execution plans may include both parallelized and non-parallelized alternatives to the execution plan identified by the early evaluation technique. Finally, based on a set of criteria, which may include comparing cost information among all the equivalent execution plans generated thus far, the best execution plan is chosen for the query.

    摘要翻译: 提供了用于延迟查询中昂贵表达式的评估的技术。 查询中的昂贵表达式是通过成本信息建立的,或通过查找匹配的已知昂贵表达式的列表来确定。 在通过使用早期评估技术确定执行计划之后,建立一个或多个等效执行计划。 一个或多个等效执行计划可以包括延迟对昂贵表达式的评估的执行计划的类型以及不执行计划的类型。 此外,一个或多个等效执行计划可以包括由早期评估技术识别的执行计划的并行化和非并行化替代方案。 最后,基于一组标准,其中可能包括比较到目前为止生成的所有等效执行计划中的成本信息,为查询选择最佳执行计划。

    Delaying evaluation of expensive expressions in a query
    2.
    发明申请
    Delaying evaluation of expensive expressions in a query 有权
    在查询中延迟评估昂贵的表达式

    公开(公告)号:US20070078812A1

    公开(公告)日:2007-04-05

    申请号:US11242361

    申请日:2005-09-30

    IPC分类号: G06F17/30

    摘要: Techniques are provided for delaying evaluation of expensive expressions in a query. Expensive expressions in the query are established by cost information or by looking up a list of known expensive expressions for a match. After an execution plan is determined by using the early evaluation technique, one or more equivalent execution plans is established. The one or more equivalent execution plans may include both a type of execution plans that delay evaluation of expensive expressions and a type of execution plans that do not. In addition, the one or more equivalent execution plans may include both parallelized and non-parallelized alternatives to the execution plan identified by the early evaluation technique. Finally, based on a set of criteria, which may include comparing cost information among all the equivalent execution plans generated thus far, the best execution plan is chosen for the query.

    摘要翻译: 提供了用于延迟查询中昂贵表达式的评估的技术。 查询中的昂贵表达式是通过成本信息建立的,或通过查找匹配的已知昂贵表达式的列表来确定。 在通过使用早期评估技术确定执行计划之后,建立一个或多个等效执行计划。 一个或多个等效执行计划可以包括延迟对昂贵表达式的评估的执行计划的类型以及不执行计划的类型。 此外,一个或多个等效执行计划可以包括由早期评估技术识别的执行计划的并行化和非并行化替代方案。 最后,基于一组标准,其中可能包括比较到目前为止生成的所有等效执行计划中的成本信息,为查询选择最佳执行计划。

    Parallel partition-wise aggregation
    3.
    发明授权
    Parallel partition-wise aggregation 有权
    并行分区聚合

    公开(公告)号:US07779008B2

    公开(公告)日:2010-08-17

    申请号:US11060260

    申请日:2005-02-16

    IPC分类号: G06F17/30

    CPC分类号: G06F9/4494

    摘要: Techniques are provided for performing a parallel aggregation operation on data that resides in a container, such as a relational table. During generation of the execution plan for the operation, it is determined whether partition-wise aggregation should be performed, based on the grouping keys involved in the aggregation and the partition keys used to partition the container. If partition-wise aggregation is to be performed, then the assignments given to the slave processes that are assigned to scan a container are made on a partition-wise basis. The scan slaves themselves may perform full or partial aggregation (depending on whether they are the only scan slaves assigned to the partition). If the scan slaves perform no aggregation, or only partial aggregation, then the scan slaves redistribute the data items to aggregation slaves that are local to the scan slaves.

    摘要翻译: 提供了用于对驻留在诸如关系表的容器中的数据执行并行聚合操作的技术。 在生成操作的执行计划时,基于聚合中涉及的分组密钥和用于分区容器的分区密钥,确定是否应该执行分区聚合。 如果要执行分区聚合,则分配给分配给扫描容器的从属进程的分配是以分区方式进行的。 扫描从站本身可以执行完全或部分聚合(取决于它们是否是分配给分区的唯一扫描从站)。 如果扫描从站不执行聚合或仅执行部分聚合,则扫描从站将数据项重新分配到扫描从站本地的聚合从站。

    Parallel partition-wise aggregation
    4.
    发明申请
    Parallel partition-wise aggregation 有权
    并行分区聚合

    公开(公告)号:US20060182046A1

    公开(公告)日:2006-08-17

    申请号:US11060260

    申请日:2005-02-16

    IPC分类号: H04L12/16 H04Q11/00

    CPC分类号: G06F9/4494

    摘要: Techniques are provided for performing a parallel aggregation operation on data that resides in a container, such as a relational table. During generation of the execution plan for the operation, it is determined whether partition-wise aggregation should be performed, based on the grouping keys involved in the aggregation and the partition keys used to partition the container. If partition-wise aggregation is to be performed, then the assignments given to the slave processes that are assigned to scan a container are made on a partition-wise basis. The scan slaves themselves may perform full or partial aggregation (depending on whether they are the only scan slaves assigned to the partition). If the scan slaves perform no aggregation, or only partial aggregation, then the scan slaves redistribute the data items to aggregation slaves that are local to the scan slaves.

    摘要翻译: 提供了用于对驻留在诸如关系表的容器中的数据执行并行聚合操作的技术。 在生成操作的执行计划时,基于聚合中涉及的分组密钥和用于分区容器的分区密钥,确定是否应该执行分区聚合。 如果要执行分区聚合,则分配给分配给扫描容器的从属进程的分配是以分区方式进行的。 扫描从站本身可以执行完全或部分聚合(取决于它们是否是分配给分区的唯一扫描从站)。 如果扫描从站不执行聚合或仅执行部分聚合,则扫描从站将数据项重新分配到扫描从站本地的聚合从站。

    Multi-tiered query processing techniques for minus and intersect operators
    5.
    发明申请
    Multi-tiered query processing techniques for minus and intersect operators 有权
    负和相交运算符的多层查询处理技术

    公开(公告)号:US20070073643A1

    公开(公告)日:2007-03-29

    申请号:US11237040

    申请日:2005-09-27

    IPC分类号: G06F17/30

    摘要: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.

    摘要翻译: 描述了用于处理包括MINUS和/或INTERSECT操作符的数据库命令的各种技术。 包含MINUS和/或INTERSECT运算符的查询被转换以创建多个变换查询。 每个变换的查询产生与原始查询相同的结果,但不包括MINUS和/或INTERSECT操作符。 为了实现与原始查询相同的结果集,转换的查询使用等价,反连接和/或半挂号,并重复消除操作。 对于各种转换查询,估计成本。 根据成本估算,选择一个变换查询作为要执行的查询,以执行原始查询中指定的操作。

    Parallel query processing techniques for minus and intersect operators
    6.
    发明授权
    Parallel query processing techniques for minus and intersect operators 有权
    负和相交运算符的并行查询处理技术

    公开(公告)号:US07617189B2

    公开(公告)日:2009-11-10

    申请号:US11237039

    申请日:2005-09-27

    IPC分类号: G06F7/00 G06F17/30

    摘要: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans. The database server selects from the query plans a particular query plan to execute based, at least in part, on the cost estimates.

    摘要翻译: 描述了用于处理包括MINUS和/或INTERSECT操作符的数据库命令的各种技术。 根据一种技术,数据库服务器并行地在专门的行源中执行MINUS / INTERSECT。 在一种方法中,专门的行源实现了一个排序合并连接,如解决方案,其中:对每个输入执行DISTINCT SORT,左和右指针保持在元组的相应输入流上,左或右指针基于 关于指针指向的元组是否存在匹配,并且基于是否存在匹配而返回(或不返回)的元组。 描述了用于生成用于执行查询的多个查询计划的技术,其中每个查询计划包括用于并行执行与MINUS / INTERSECT运算符相关联的操作的计划部分。 为查询计划生成成本估算值。 数据库服务器从查询计划中选择特定的查询计划,至少部分地基于成本估计执行。

    Multi-tiered query processing techniques for minus and intersect operators
    7.
    发明授权
    Multi-tiered query processing techniques for minus and intersect operators 有权
    负和相交运算符的多层查询处理技术

    公开(公告)号:US07814091B2

    公开(公告)日:2010-10-12

    申请号:US11237040

    申请日:2005-09-27

    IPC分类号: G06F7/00 G06F17/30

    摘要: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.

    摘要翻译: 描述了用于处理包括MINUS和/或INTERSECT操作符的数据库命令的各种技术。 包含MINUS和/或INTERSECT运算符的查询被转换以创建多个变换查询。 每个变换的查询产生与原始查询相同的结果,但不包括MINUS和/或INTERSECT操作符。 为了实现与原始查询相同的结果集,转换的查询使用等价,反连接和/或半挂号,并重复消除操作。 对于各种转换查询,估计成本。 根据成本估算,选择一个变换查询作为要执行的查询,以执行原始查询中指定的操作。

    Parallel query processing techniques for minus and intersect operators
    8.
    发明申请
    Parallel query processing techniques for minus and intersect operators 有权
    负和相交运算符的并行查询处理技术

    公开(公告)号:US20070073642A1

    公开(公告)日:2007-03-29

    申请号:US11237039

    申请日:2005-09-27

    IPC分类号: G06F17/30

    摘要: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans. The database server selects from the query plans a particular query plan to execute based, at least in part, on the cost estimates.

    摘要翻译: 描述了用于处理包括MINUS和/或INTERSECT操作符的数据库命令的各种技术。 根据一种技术,数据库服务器并行地在专门的行源中执行MINUS / INTERSECT。 在一种方法中,专门的行源实现了一个排序合并连接,如解决方案,其中:对每个输入执行DISTINCT SORT,左和右指针保持在元组的相应输入流上,左或右指针基于 关于指针指向的元组是否存在匹配,并且基于是否存在匹配而返回(或不返回)的元组。 描述了用于生成用于执行查询的多个查询计划的技术,其中每个查询计划包括用于并行执行与MINUS / INTERSECT运算符相关联的操作的计划部分。 为查询计划生成成本估算值。 数据库服务器从查询计划中选择特定的查询计划,至少部分地基于成本估算来执行。

    Query processing in a parallel single cursor model on multi-instance configurations, using hints
    9.
    发明申请
    Query processing in a parallel single cursor model on multi-instance configurations, using hints 有权
    使用提示在多实例配置上的并行单光标模型中进行查询处理

    公开(公告)号:US20070038595A1

    公开(公告)日:2007-02-15

    申请号:US11202453

    申请日:2005-08-11

    IPC分类号: G06F17/30

    摘要: A database statement is processed in a multi-server system, in a manner to increase the possibility that slave server processes on remote nodes will generate execution plans that are equivalent to the corresponding execution plan generated by the query coordinator process. A set of hints is generated based on the same information on which the master plan is based. The set of hints is sent to remote nodes, where respective remote plans are generated based in part on the set of hints. Use of the hints in generation of the remote plan increases the possibility that the remote plan will be equivalent to the master plan and that the slaves on the other database server will be able to join in parallel processing of the database statement.

    摘要翻译: 在多服务器系统中处理数据库语句,以增加从属服务器在远程节点上处理的可能性将生成与查询协调器进程生成的相应执行计划相等的执行计划。 基于主计划所基于的相同信息生成一组提示。 一组提示被发送到远程节点,其中基于一组提示部分地生成相应的远程计划。 使用提示生成远程计划会增加远程计划等同于主计划的可能性,并且其他数据库服务器上的从站将能够并行处理数据库语句。

    Communicating external expressions using a parallel single cursor model
    10.
    发明申请
    Communicating external expressions using a parallel single cursor model 有权
    使用并行单光标模型来传达外部表达式

    公开(公告)号:US20050131890A1

    公开(公告)日:2005-06-16

    申请号:US10865178

    申请日:2004-06-09

    IPC分类号: G06F7/00 G06F17/30

    摘要: Techniques are provided for processing, within a database server, a database statement, where at least one subtask required by the database statement is to be executed in parallel by a slave set. The database server determines whether the database statement includes an external expression, relative to the subtask, that (a) produces information that is required by slave processes in the slave set in order to perform the subtask, and (b) is not to be evaluated by each slave process in the slave set. During execution of the statement, if the database statement includes an external expression, then one or more external values are generated by causing the external expression to be evaluated, and the one or more external values are communicated to slaves of the slave set to allow the slave processes to perform respective portions of the subtask in parallel, without requiring each slave of the slave set to evaluate the external expression.

    摘要翻译: 提供技术来在数据库服务器内处理数据库语句,数据库语句所要求的至少一个子任务将由从属集并行执行。 数据库服务器确定数据库语句是否包含相对于子任务的外部表达式,(a)产生从属集中的从属进程所需的信息以执行子任务,并且(b)不被评估 由从设备中的每个从属进程。 在执行语句期间,如果数据库语句包含外部表达式,则通过使外部表达式进行求值来生成一个或多个外部值,并将一个或多个外部值传送到从设备的从站,以允许 从属进程并行执行子任务的各个部分,而不需要从属集的每个从属点来评估外部表达式。