1. A method of allocating computing resources in a grid to an executable query plan, wherein the executable query plan is dividable into a plurality of query sub-plans at a plurality of query sub-plan levels in the executable query plan, the method comprising: repeatedly splitting the query plan into query plan segments and provisionally allocating computing resources in the grid to the query plan segments until the query plan segments have only one query sub-plan level, thereby forming a provisional allocation; and distributing the computing resources in the grid among the query sub-plans in respective of the query plan segments according to the provisional allocation.