1. A method comprising the steps of: partitioning a database query into an initial partition comprising a plurality of parallel groups; executing said query, via an execution plan, based on said initial partition; identifying a first sampling subset of data from said plurality of parallel groups; substantially in parallel with said executing of said query, executing said execution plan on said first sampling subset of data as a first sampling thread; and modifying said execution plan based on feedback from said executing of said execution plan on said first sampling subset of data.