1. A method of processing a data source query, the method comprising: determining a load factor for a data source; receiving the data source query at a query assistant running on a computer server; determining a complexity of the data source query; adjusting the complexity by the load factor; simplifying the data source query by removing one or more first query elements from the data source query when the adjusted complexity is above a threshold; forming a query plan where the first query elements are designated for processing outside the data source; and performing the query plan by sending one or more abbreviated queries to the data source and processing the first query elements using the query assistant, the abbreviated queries being based on the data source query with the first query elements removed.