1. A method of processing data source queries, the method comprising: accumulating the data source queries in a query holding area of a query assistant running in a computer server; separating the accumulated data source queries into a plurality of partitions, each of the partitions including data source queries with a respective from-type, each respective from-type being associated with a combination of storage tables accessed by each of the data source queries in a corresponding partition; ordering the partitions; ordering the accumulated data source queries within each of the partitions; and processing the accumulated data source queries in an order based on the ordering of the partitions and the ordering of the data source queries within each of the partitions; wherein ordering the accumulated data source queries within each of the partitions comprises: processing a first data source query in a first partition selected from the partitions against a first test data set to determine a first result; processing a second data source query in the first partition against the first test data set to determine a second result; determining a first ordering metric based on the first result; determining a second ordering metric based on the second result; and ordering the first data source query and the second data source query based on the first ordering metric and the second ordering metric.