US 11,734,274 B2
Transforming queries using bitvector aware optimization
Bailu Ding, Bellevue, WA (US); Vivek Ravindranath Narasayya, Redmond, WA (US); and Surajit Chaudhuri, Kirkland, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 30, 2020, as Appl. No. 16/917,489.
Claims priority of provisional application 63/008,602, filed on Apr. 10, 2020.
Prior Publication US 2021/0319023 A1, Oct. 14, 2021
Int. Cl. G06F 16/2453 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/24544 (2019.01) [G06F 16/2456 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving a query including identifiers of datasets and one or more join operators associated with combining data from the datasets;
generating an operator tree including instructions for processing the one or more join operators, the operator tree including a structure having a join order associated with executing the query;
applying a plurality of transformation rules to the operator tree to generate an optimized operator tree, wherein applying the plurality of transformation rules applies one or more bitvector filters at different join operators and modifies the join order of the one or more join operators in the optimized operator tree based on a determined impact associated with applying the one or more bitvector filters to the one or more join operators and selecting the one or more bitvectors filters based on the determined impact and different structures of the optimized operator tree; and
providing the query and the optimized operator tree to an execution engine for processing the query in accordance with the optimized operator tree.