PRUNING DISK BLOCKS OF A CLUSTERED TABLE IN A RELATIONAL DATABASE MANAGEMENT SYSTEM
First Claim
1. A method for pruning disk blocks of a target table in a relational database management system, the method comprising:
- dividing the disk blocks of the target table into a plurality of zones;
maintaining, for each zone of the plurality of zones, a minimum column value and a maximum column value for each of one or more zoned columns of one or more zoned tables;
wherein at least one of the one or more zoned tables is not the target table;
receiving a query on the target table;
wherein the query contains a filter predicate on a particular column of the one or more zoned columns;
wherein the filter predicate has a predicate value;
in response to receiving the query, determining, based on the predicate value and minimum column values and the maximum column values maintained for the particular column, zero or more zones of the plurality of zones that cannot possibly contain rows of the target table satisfying the filter predicate; and
determining, based on the zero or more zones of the plurality of zones that cannot possibly contain rows of the target table satisfying the filter predicate, whether a disk scan of the zero or more zones is necessary;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for generating a “dimensional zonemap” that allows a database server to avoid scanning disk blocks of a fact table based on filter predicates in a query that qualify one or more dimension tables. The zonemap divides the fact table into sets of contiguous disk blocks referred to as “zones”. For each zone, a minimum value and a maximum value for each of one or more “zoned” columns of the dimension tables is determined and maintained in the zonemap. For a query that contains a filter predicate on a zoned column, the predicate value can be compared to the minimum value and maximum value maintained for a zone for that zoned column to determine whether a scan of the disk blocks of the zone can be skipped.
63 Citations
22 Claims
-
1. A method for pruning disk blocks of a target table in a relational database management system, the method comprising:
-
dividing the disk blocks of the target table into a plurality of zones; maintaining, for each zone of the plurality of zones, a minimum column value and a maximum column value for each of one or more zoned columns of one or more zoned tables; wherein at least one of the one or more zoned tables is not the target table; receiving a query on the target table; wherein the query contains a filter predicate on a particular column of the one or more zoned columns; wherein the filter predicate has a predicate value; in response to receiving the query, determining, based on the predicate value and minimum column values and the maximum column values maintained for the particular column, zero or more zones of the plurality of zones that cannot possibly contain rows of the target table satisfying the filter predicate; and determining, based on the zero or more zones of the plurality of zones that cannot possibly contain rows of the target table satisfying the filter predicate, whether a disk scan of the zero or more zones is necessary; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22)
-
-
12. One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of a method for pruning disk blocks of a target table in a relational database management system, the method comprising:
-
dividing the disk blocks of the target table into a plurality of zones; maintaining, for each zone of the plurality of zones, a minimum column value and a maximum column value for each of one or more zoned columns of one or more zoned tables; wherein at least one of the one or more zoned tables is not the target table; receiving a query on the target table; wherein the query contains a filter predicate on a particular column of the one or more zoned columns; wherein the filter predicate has a predicate value; in response to receiving the query, determining, based on the predicate value and minimum column values and the maximum column values maintained for the particular column, zero or more zones of the plurality of zones that cannot possibly contain rows of the target table satisfying the filter predicate; and determining, based on the zero or more zones of the plurality of zones that cannot possibly contain rows of the target table satisfying the filter predicate, whether a disk scan of the zero or more zones is necessary; wherein the method is performed by one or more computing devices. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification