发明名称 Accelerating database queries containing bitmap-based conditions
摘要 Systems, methods and articles of manufacture for accelerating database queries containing bitmap-based conditions are described herein. An embodiment includes determining a bitmap, where the bitmap represents a set of rows that have satisfied one or more conjunctive conditions which preceded a conjunct that is a disjunction in a query expression and restricting evaluation of a disjunct within the disjunction to the set of rows represented by the bitmap. Another embodiment includes determining a satisfaction bitmap, where the bitmap represents the result of one or more preceding disjuncts in a disjunction within a query expression and restricting scope of evaluation of a disjunct to a set of rows that are not within the determined satisfaction bitmap. In this way, embodiments of the present invention enable the acceleration of queries containing disjunctions of conditions on a database table, as well as reduce the temporary resources consumed for such queries.
申请公布号 US9317556(B2) 申请公布日期 2016.04.19
申请号 US201012892312 申请日期 2010.09.28
申请人 SYBASE. INC. 发明人 Kirk Steven A.;Walrath David E.
分类号 G06F7/00;G06F17/00;G06F17/30 主分类号 G06F7/00
代理机构 Sterne, Kessler, Goldstein & Fox P.L.L.C. 代理人 Sterne, Kessler, Goldstein & Fox P.L.L.C.
主权项 1. A computer implemented method, comprising: determining, by at least one processor, a presence of a disjunction expression in a complex query expression, the disjunction expression including a disjunctive operator and a plurality of disjunctive conditions, wherein the complex query expression comprises a conjunction expression including a conjunction operator, the disjunction expression, and one or more conjunctive conditions that precede the disjunction expression; receiving, in response to the determining, by the at least one processor, a restriction bitmap for each disjunction expression in the complex query expression, the restriction bitmap representing a set of rows that have satisfied the one or more preceding conjunctive conditions, wherein a bit from the restriction bitmap represents whether a respective row has satisfied the one or more preceding conjunctive conditions; determining whether respective cost savings justify restricting evaluation of each disjunctive condition from the plurality of disjunctive conditions using the restriction bitmap; responsive to determining that a disjunctive condition from the plurality of disjunctive conditions has a respective cost saving that justifies restricting evaluation, restricting, by the at least one processor, evaluation of the disjunctive condition from the plurality of disjunctive conditions to the set of rows represented by the restriction bitmap; and providing, by the at least one processor, a bitmap result of evaluating the disjunction expression, the bitmap result determined, in part, using the restricted evaluation of the disjunctive condition.
地址 Dublin CA US