Using global temporary tables to transform queries
    1.
    发明授权
    Using global temporary tables to transform queries 有权
    使用全局临时表来转换查询

    公开(公告)号:US06684203B1

    公开(公告)日:2004-01-27

    申请号:US09436053

    申请日:1999-11-08

    IPC分类号: G06F1730

    摘要: A technique and mechanism for transforming a query is described. A given query is transformed into a transformed query that references a global temporary table. Specifically, the given query contains a join between a given table and one or more other tables referenced by constraints (e.g. predicates). References to one or more of the constrained tables are replaced by a reference to a global temporary table. Before executing the transformed query, data that satisfies the constraints placed on the constrained table is inserted into the global temporary table.

    摘要翻译: 描述了用于转换查询的技术和机制。 给定的查询被转换为引用全局临时表的转换查询。 具体来说,给定的查询包含一个给定表和一个或多个由约束引用的其他表(例如谓词)之间的连接。 对一个或多个受约束的引用由对全局临时表的引用替代。 在执行转换查询之前,将满足约束表上约束的数据插入到全局临时表中。

    Method for executing star queries
    2.
    发明授权
    Method for executing star queries 失效
    执行星型查询的方法

    公开(公告)号:US5848408A

    公开(公告)日:1998-12-08

    申请号:US808621

    申请日:1997-02-28

    IPC分类号: G06F17/30

    摘要: A method and apparatus for processing star queries is provided. According to the method, a star query is transformed by adding to the star query subqueries that are not in the query. The subqueries are generated based on join predicates and constraints on dimension tables that are contained in the original query. The subqueries are executed, and the values returned by the subqueries are used to access one or more bitmap indexes built on columns of the fact table. The bitmaps retrieved for the values returned by each subquery are merged to create one subquery bitmap per subquery. An AND operation is performed on the subquery bitmaps, and the resulting bitmap is used to determine which data to retrieve from the fact table.

    摘要翻译: 提供了一种处理星型查询的方法和装置。 根据该方法,通过添加到不在查询中的星型查询子查询来转换星型查询。 子查询是基于原始查询中包含的维表上的连接谓词和约束生成的。 执行子查询,子查询返回的值用于访问一个或多个基于事实表列的位图索引。 为每个子查询返回的值检索的位图被合并,以便为每个子查询创建一个子查询位图。 在子查询位图上执行AND操作,并且生成的位图用于确定从事实表中检索哪些数据。

    Parallel distinct aggregates
    3.
    发明授权
    Parallel distinct aggregates 有权
    平行不同的聚集体

    公开(公告)号:US06430550B1

    公开(公告)日:2002-08-06

    申请号:US09455004

    申请日:1999-12-03

    IPC分类号: G06F1730

    摘要: Techniques are provided for executing distinct aggregation operations in a manner that is more scalable and efficient than prior techniques. A three-stage technique is provided to parallelize aggregation operations that involve both grouping and multiple distinct-key columns. Such queries are handled by splitting rows into as many pieces as there are distinct aggregates in the query, and processing the row pieces. During the first-stage, a set of slave processes scans the rows of the base tables and performs partial duplicate elimination. During the second-stage, a set of slave processes completes the duplicate elimination and performs partial set function aggregation. During the third-stage, a third set of slave processes completes the set aggregation to produce the results of the distinct aggregation operation. In addition, two-stage parallelization techniques are provided for parallelizing single-distinct aggregations, and for parallelizing distinct aggregation operations that involve multiple distinct-key columns, but do not require grouping.

    摘要翻译: 提供技术用于以比现有技术更可扩展和有效的方式执行不同的聚合操作。 提供了三阶段技术来并行化并行化涉及分组和多个不同键列的聚合操作。 这样的查询是通过将行拆分成与查询中有不同的聚合一样多的部分来处理的,并处理这些行。 在第一阶段,一组从属进程扫描基表的行,并执行部分重复消除。 在第二阶段,一组从属进程完成重复消除,并执行部分集合功能聚合。 在第三阶段,第三组从属进程完成集合聚合以产生不同聚合操作的结果。 此外,还提供了两级并行化技术,用于并行化单个不同的聚合,并且用于并行化涉及多个不同密钥列的不同聚合操作,但不需要进行分组。

    Method for sorting data using common prefix bytes
    4.
    发明授权
    Method for sorting data using common prefix bytes 有权
    使用公共前缀字节排序数据的方法

    公开(公告)号:US07680791B2

    公开(公告)日:2010-03-16

    申请号:US11039024

    申请日:2005-01-18

    IPC分类号: G06F17/30 G06F15/16

    摘要: Several techniques for sorting item are described, generally referred to as (1) common prefix skipping quicksort; (2) key substring caching; and (3) adaptive quicksort. With common prefix skipping quicksort, common prefix bytes among all key values for a partition are computed while performing a quicksort partitioning operation, and the known common bytes are skipped when comparing two key values in a recursive partitioning operation. With key substring caching, each item is represented in a cached array comprising a particular number of bytes for respective portions of key values (“key substring”), where the key substring cache is updated contain bytes beyond the known number of common prefix bytes. An adaptive quicksort routine is a hybrid of a quicksort function and most significant digit radix sort function, where the functions are mutually recursive.

    摘要翻译: 描述了用于排序项目的几种技术,通常称为(1)公共前缀跳过快速排序; (2)关键子串缓存; 和(3)自适应快速排队。 使用公共前缀跳过快速排序,在执行快速排序分区操作时计算分区的所有键值之间的公共前缀字节,并且在递归分区操作中比较两个键值时会跳过已知的公用字节。 使用关键子串缓存,每个项目都以缓存的数组表示,包括键值(“关键子字符串”)的相应部分的特定数量的字节,其中更新的关键子字符串高速缓存包含超出已知数量的公共前缀字节的字节。 自适应快速排序程序是快速排序函数和最有效的数字基数排序函数的混合,其中函数是相互递归的。

    Parallel index maintenance
    5.
    发明授权
    Parallel index maintenance 有权
    并行索引维护

    公开(公告)号:US06438562B1

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

    申请号:US09379625

    申请日:1999-08-24

    IPC分类号: G06F1730

    摘要: A method, system and product for coordinating a parallel update for a global index of an indexed table involves a coordinator process and slave processes. The coordinator process receives index maintenance records from data manipulation slaves for an indexed table. Each index maintenance record includes a value for an index key of a global index of the table. The coordinator process computes index key value ranges and sends each range to an index update slave. Each slave updates the global index using just the index maintenance records with key values in its respective range, thus avoiding contention among the slaves and increasing clustering so that scaleable parallelism may be more closely attained. Techniques are also described for deferring the maintenance of global indexes relative to the time when the table on which they are built is changed.

    摘要翻译: 用于协调索引表的全局索引的并行更新的方法,系统和产品涉及协调程序进程和从属进程。 协调器进程从索引表的数据操作从站接收索引维护记录。 每个索引维护记录包括表的全局索引的索引关键字的值。 协调器进程计算索引键值范围,并将每个范围发送到索引更新从站。 每个从站使用仅具有相应范围内的关键值的索引维护记录来更新全局索引,从而避免了从站之间的竞争并增加了聚类,从而可以更加可靠地实现可扩展的并行性。 还描述了相对于更改其构建表的时间推迟全局索引的维护的技术。

    Method for allocating either private or shared buffer memory for storing data from sort operations in accordance with an assigned value or threshold value
    6.
    发明授权
    Method for allocating either private or shared buffer memory for storing data from sort operations in accordance with an assigned value or threshold value 失效
    用于根据分配值或阈值分配用于存储来自分类操作的数据的专用或共享缓冲存储器的方法

    公开(公告)号:US06230220B1

    公开(公告)日:2001-05-08

    申请号:US09127438

    申请日:1998-07-31

    IPC分类号: G06F300

    CPC分类号: G06F7/22 Y10S707/99937

    摘要: A method and apparatus are provided for allocating buffer memory for database sort operations. A database parameter is set to determine whether and how direct write buffers are to be allocated for sort operations. If the parameter is set to a first value, then direct write buffers will be used to perform writes to disk. The size and number of direct write buffers to be used will be determined by the values set in other database parameters. If the parameter is set to a second value, then no direct write buffers will be used, and sort operations will write to disk through a buffer cache. If the parameter is set to a third value, direct write buffers will be allocated a portion of the memory available to perform the sort operation. The size and number of direct write buffers will be determined in accordance with database formulae that are designed to optimize sort and data write performance.

    摘要翻译: 提供了一种分配用于数据库排序操作的缓冲存储器的方法和装置。 设置数据库参数以确定是否以及如何为分类操作分配直接写入缓冲区。 如果参数设置为第一个值,则直接写入缓冲区将用于对磁盘执行写入操作。 要使用的直接写入缓冲区的大小和数量将由其他数据库参数中设置的值确定。 如果参数设置为第二个值,则不会使用直接写入缓冲区,并且排序操作将通过缓冲区缓存写入磁盘。 如果参数设置为第三个值,则直接写入缓冲区将被分配一部分可用于执行排序操作的内存。 直接写入缓冲区的大小和数量将根据旨在优化排序和数据写入性能的数据库公式来确定。

    Batch processing of updates to indexes
    7.
    发明授权
    Batch processing of updates to indexes 失效
    批量处理索引的更新

    公开(公告)号:US6026406A

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

    申请号:US855544

    申请日:1997-06-04

    IPC分类号: G06F11/14 G06F17/30

    摘要: A method and apparatus for batch processing of updates to indexes is provided. A plurality of index update records are generated that identify a plurality of index update operations to be made to an index. The plurality of index entry records are sorted and then applied, in an order that corresponds to the sort order, in batches to their respective indexes. As a result of performing batch processing of updates to indexes, the number of disk I/Os will be greatly reduced, freeing database system resources to perform other tasks. The overall efficiency of index maintenance is also improved, as is the recovery of the database system after a failure, resultant from an ordering of the index maintenance operations and a partial ordering of the persistent redo log file.

    摘要翻译: 提供了一种批量处理索引更新的方法和装置。 生成多个索引更新记录,其识别要对索引进行的多个索引更新操作。 将多个索引条目记录按照与排序顺序对应的顺序分批并按其各自的索引分批应用。 作为对索引进行更新的批处理的结果,磁盘I / O的数量将大大减少,释放数据库系统资源以执行其他任务。 索引维护的整体效率也得到提高,故障后数据库系统的恢复也是由于索引维护操作的排序和持续重做日志文件的部分排序而导致的。

    Method for allocating either private or shared buffer memory for storing
data from sort operations in accordance with an assigned value or
threshold value
    8.
    发明授权
    Method for allocating either private or shared buffer memory for storing data from sort operations in accordance with an assigned value or threshold value 失效
    用于根据分配值或阈值分配用于存储来自分类操作的数据的专用或共享缓冲存储器的方法

    公开(公告)号:US5799210A

    公开(公告)日:1998-08-25

    申请号:US634694

    申请日:1996-04-18

    IPC分类号: G06F7/22 G06F13/00

    CPC分类号: G06F7/22 Y10S707/99937

    摘要: A method and apparatus are provided for allocating buffer memory for database sort operations. A database parameter is set to determine whether and how direct write buffers are to be allocated for sort operations. If the parameter is set to a first value, then no direct write buffers will be used, and sort operations will write to disk through a buffer cache. If the parameter is set to a second value, then direct write buffers will be used to perform writes to disk. Then size and number of direct write buffers to be used will be determined by the values set in other database parameters. If the parameter is set to a third value, direct write buffers will be allocated a portion of the memory available to perform the sort operation. The size and number of direct write buffers will be determined in accordance with database formulae that are designed to optimize sort and data write performance.

    摘要翻译: 提供了一种分配用于数据库排序操作的缓冲存储器的方法和装置。 设置数据库参数以确定是否以及如何为分类操作分配直接写入缓冲区。 如果参数设置为第一个值,则不会使用直接写入缓冲区,并且排序操作将通过缓冲区高速缓存写入磁盘。 如果参数设置为第二个值,则直接写入缓冲区将用于对磁盘执行写入操作。 那么要使用的直接写入缓冲区的大小和数量将由其他数据库参数中设置的值确定。 如果参数设置为第三个值,则直接写入缓冲区将被分配一部分可用于执行排序操作的内存。 直接写入缓冲区的大小和数量将根据旨在优化排序和数据写入性能的数据库公式来确定。

    Method and apparatus to support bitmap filtering in a parallel system
    9.
    发明授权
    Method and apparatus to support bitmap filtering in a parallel system 有权
    支持并行系统中位图过滤的方法和装置

    公开(公告)号:US08145642B2

    公开(公告)日:2012-03-27

    申请号:US11001363

    申请日:2004-11-30

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30498

    摘要: Techniques are described for combining pieces of information from two sources. The techniques may be used to improve the performance, for example, of hash join operations that are parallelized using slaves distributed across multiple nodes. According to one technique, bitmap filtering operations are performed by the probe-phase producer slaves, rather than the probe-phase consumer slaves. To avoid having to merge separately built bitmap filter chunks, the left-hand rows may be sent to every probe-phase consumer slave. Alternatively, the merge operation may be avoided by distributing the rows of one source based on how the other source has been statically partitioned.

    摘要翻译: 描述了用于组合来自两个来源的信息的技术。 这些技术可以用于改进例如使用分布在多个节点上的从属并行化的散列连接操作的性能。 根据一种技术,位图过滤操作由探针相位生成器从站而不是探针相消费者从站执行。 为了避免必须合并单独构建的位图过滤器块,可以将左侧行发送到每个探针阶段的客户从站。 或者,可以基于如何静态地分割其他源来分发一个源的行来避免合并操作。