Techniques for using zone map information for post index access pruning
First Claim
1. A method for using zone map information for post index access pruning comprising:
- receiving a query statement comprising a first filter predicate on an indexed column of a first database table and a second filter predicate on a zoned column of a second database table;
identifying one or more pruneable zones of a zone map based on a value for the zoned column in the second filter predicate;
wherein the zone map comprises a plurality of zones corresponding to a plurality of contiguous regions of disk blocks;
wherein, for each zone of the plurality of zones, the zone map stores a minimum column value for the zoned column for the zone and a maximum column value for the zoned column for the zone;
obtaining a set of data record addresses from an index on the indexed column based on a value for the indexed column in the first filter predicate; and
pruning, from access paths for processing the query statement, any data records, corresponding to data record addresses in the set of data record addresses, that are physically located in one of the one or more pruneable zones.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for using zone map information for post index access pruning. In one embodiment, for example, a method for using zone map information for post index access pruning comprises: receiving a query statement comprising a first filter predicate on an indexed column of a database table and a second filter predicate on a zoned column of a database table; identifying zero or more pruneable zones of a zone map based on a value for the zoned column in the second filter predicate; obtaining a set of data record addresses from an index on the indexed column based on a value for the indexed column in the first filter predicate; and pruning, from access paths for processing the query statement, any data records, corresponding to data record addresses in the set of data record addresses, that are physically located in one of the pruneable zones.
150 Citations
23 Claims
-
1. A method for using zone map information for post index access pruning comprising:
-
receiving a query statement comprising a first filter predicate on an indexed column of a first database table and a second filter predicate on a zoned column of a second database table; identifying one or more pruneable zones of a zone map based on a value for the zoned column in the second filter predicate; wherein the zone map comprises a plurality of zones corresponding to a plurality of contiguous regions of disk blocks; wherein, for each zone of the plurality of zones, the zone map stores a minimum column value for the zoned column for the zone and a maximum column value for the zoned column for the zone; obtaining a set of data record addresses from an index on the indexed column based on a value for the indexed column in the first filter predicate; and pruning, from access paths for processing the query statement, any data records, corresponding to data record addresses in the set of data record addresses, that are physically located in one of the one or more pruneable zones. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media storing instructions which, when executed by one or more computing devices, causes the one or more computing devices to perform steps for using zone map information for post index access pruning comprising:
-
receiving a query statement comprising a first filter predicate on an indexed column of a first database table and a second filter predicate on a zoned column of a second database table; identifying one or more pruneable zones of a zone map based on a value for the zoned column in the second filter predicate; wherein the zone map comprises a plurality of zones corresponding to a plurality of contiguous regions of disk blocks; wherein, for each zone of the plurality of zones, the zone map stores a minimum column value for the zoned column for the zone and a maximum column value for the zoned column for the zone; obtaining a set of data record addresses from an index on the indexed column based on a value for the indexed column in the first filter predicate; and pruning, from access paths for processing the query statement, any data records, corresponding to data record addresses in the set of data record addresses, that are physically located in one of the one or more pruneable zones. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for using zone map information for post index access pruning comprising:
-
receiving a query statement comprising a first filter predicate on a first column of a database table and a second filter predicate on a second column of the table; querying a zone map for any zones of the zone map that cannot possibly contain rows of the table that satisfy the second filter predicate, wherein querying the zone map returns identifiers of one or more zones of the zone map that cannot possibly contain rows of the table that satisfy the second filter predicate; wherein the zone map comprises a plurality of zones corresponding to a plurality of contiguous regions of disk blocks; wherein, for each zone of the plurality of zones, the zone map stores a minimum column value for the second column for the zone and a maximum column value for the second column for the zone; storing the one or more returned zone identifiers in a memory; responsive to initiating an index scan of an index on the first column for rows of the table that satisfy the first filter predicate, receiving row identifiers of one or more rows of the table that satisfy the first filter predicate; and for each row identifier of the one or more rows of the table that satisfy the first filter predicate; determining, based at least in part on at least a portion of the row identifier and the zone identifiers stored in memory, whether the row identified by the row identifier is physically located in one of the one or more identified zones of the zone map that cannot possibly contain rows of the table that satisfy the second filter predicate, if the row identified by the row identifier is physically located in one of the one or more identified zones of the zone map that cannot possibly contain rows of the table that satisfy the second filter predicate, then discarding the row identifier, and if the row identified by the row identifier is not physically located in one of the one or more identified zones of the zone map that cannot possibly contain rows of the table that satisfy the second filter predicate, then fetching the row from a cache or a physical location on disk. - View Dependent Claims (22, 23)
-
Specification