A computer-implemented method for synopsis-based pruning, comprising: determining synopsis information (116, 226) for a data partition (112, 214) of a plurality of data partitions, the synopsis information (116, 226) including a synopsis range, a counter value (310, 406), and a synopsis strategy identifier (312, 408) corresponding to a first synopsis strategy, wherein the synopsis strategy identifier (312, 408) is a first synopsis strategy identifier; receiving a query request (102, 202) corresponding to the plurality of data partitions, the query request (102, 202) associated with a query range; loading the data partition (112, 214) into memory based at least in part on the synopsis information and the query range; determining that content of the data partition (112, 214) does not satisfy the query request (102, 202); and updating the counter value (310, 406) based at least in part on the content of the data partition (112, 214) not satisfying the query request (102, 202); wherein the synopsis strategy identifier (312, 408) indicates the synopsis strategy currently applied to the data partition (112, 214), and the counter value is used to determine which synopsis strategy to apply to the data partition (112, 214); the method further comprising: determining that the counter value (310, 406) exceeds a predetermined threshold; subdividing the data partition (112, 214) into a plurality of bins based on the synopsis range; determining a synopsis bit vector based on the content of the data partition (112, 214) and the plurality of bins; storing the synopsis bit vector to the synopsis information (116, 226); and replacing the first synopsis strategy identifier with a second synopsis strategy identifier corresponding to a second synopsis strategy. determining synopsis information (116, 226) for a data partition (112, 214) of a plurality of data partitions, the synopsis information (116, 226) including a synopsis range, a counter value (310, 406), and a synopsis strategy identifier (312, 408) corresponding to a first synopsis strategy, wherein the synopsis strategy identifier (312, 408) is a first synopsis strategy identifier; receiving a query request (102, 202) corresponding to the plurality of data partitions, the query request (102, 202) associated with a query range; loading the data partition (112, 214) into memory based at least in part on the synopsis information and the query range; determining that content of the data partition (112, 214) does not satisfy the query request (102, 202); and updating the counter value (310, 406) based at least in part on the content of the data partition (112, 214) not satisfying the query request (102, 202); wherein the synopsis strategy identifier (312, 408) indicates the synopsis strategy currently applied to the data partition (112, 214), and the counter value is used to determine which synopsis strategy to apply to the data partition (112, 214); the method further comprising: determining that the counter value (310, 406) exceeds a predetermined threshold; subdividing the data partition (112, 214) into a plurality of bins based on the synopsis range; determining a synopsis bit vector based on the content of the data partition (112, 214) and the plurality of bins; storing the synopsis bit vector to the synopsis information (116, 226); and replacing the first synopsis strategy identifier with a second synopsis strategy identifier corresponding to a second synopsis strategy. determining that the counter value (310, 406) exceeds a predetermined threshold; subdividing the data partition (112, 214) into a plurality of bins based on the synopsis range; determining a synopsis bit vector based on the content of the data partition (112, 214) and the plurality of bins; storing the synopsis bit vector to the synopsis information (116, 226); and replacing the first synopsis strategy identifier with a second synopsis strategy identifier corresponding to a second synopsis strategy.