1. A computer implemented method, comprising: accessing a data source from which data will be retrieved via a plurality of processing threads, the data source having a plurality of records with each record being associated with a plurality of identifiers; dynamically evaluating each of the plurality of identifiers as a potential range identifier, wherein said evaluation is based at least in part on a number of distinct values present within each identifier; selecting one of the potential range identifiers as a selected range identifier; dividing the plurality of records into ranges defined using the selected range identifier; and calculating a range size for each of the ranges based on the number of distinct values, a maximum value associated with a potential range identifier, a minimum value associated with the potential range identifier and the number of processing threads, wherein the range size is rounded up to a next whole integer.