A method for pruning contiguous disk blocks of a target table in a relational database management system, the method comprising: dividing the contiguous disk blocks of the target table into a plurality of zones (501, 502), each zone (501, 502) of the plurality of zones (501, 502) comprising a set of contiguous disk blocks of the target table; maintaining, for each zone (501, 502) of the plurality of zones (501, 502), a minimum column value and a maximum column value for each of one or more zoned columns of one or more tables; wherein at least one of the one or more zoned columns is not a column of 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; wherein the particular column is not a column of the target table; and in response to receiving the query, determining, based on the predicate value and the minimum column values and the maximum column values maintained for the particular column, one or more zones (501, 502) of the plurality of zones (501, 502) that cannot possibly contain rows of the target table satisfying the query, and skipping, when scanning the target table, a disk scan of the one or more zones (501, 502) of the plurality of zones (501, 502) that cannot possibly contain rows of the target table satisfying the query; wherein the method is performed by one or more computing devices. dividing the contiguous disk blocks of the target table into a plurality of zones (501, 502), each zone (501, 502) of the plurality of zones (501, 502) comprising a set of contiguous disk blocks of the target table; maintaining, for each zone (501, 502) of the plurality of zones (501, 502), a minimum column value and a maximum column value for each of one or more zoned columns of one or more tables; wherein at least one of the one or more zoned columns is not a column of 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; wherein the particular column is not a column of the target table; and in response to receiving the query, determining, based on the predicate value and the minimum column values and the maximum column values maintained for the particular column, one or more zones (501, 502) of the plurality of zones (501, 502) that cannot possibly contain rows of the target table satisfying the query, and skipping, when scanning the target table, a disk scan of the one or more zones (501, 502) of the plurality of zones (501, 502) that cannot possibly contain rows of the target table satisfying the query; determining, based on the predicate value and the minimum column values and the maximum column values maintained for the particular column, one or more zones (501, 502) of the plurality of zones (501, 502) that cannot possibly contain rows of the target table satisfying the query, and skipping, when scanning the target table, a disk scan of the one or more zones (501, 502) of the plurality of zones (501, 502) that cannot possibly contain rows of the target table satisfying the query; wherein the method is performed by one or more computing devices.