1. A computer-implemented method for preparation and execution of an optimal query execution plan in a massively parallel processing environment wherein individual processors have varying characteristics, the method comprising: receiving, by one or more computer processors, a query involving one or more data tables, wherein the one or more data tables are stored on a plurality of processing nodes in the massively parallel processing environment; determining, by one or more computer processors, whether any of the one or more data tables are too large to be broadcast; responsive to determining any of the one or more data tables are too large to be broadcast, distributing, by one or more computer processors, the data tables determined to be too large to be broadcast to the plurality of processing nodes; broadcasting, by the one or more computer processors, to the plurality of processing nodes, one or more of the data tables, determined not to be too large for broadcasting, and a pre-processed query, wherein the plurality of processing nodes are of differing processing capability; receiving, by the one or more computer processors, candidate plans comprising a set of processing-node-specific query execution plans and an execution cost estimate associated with each processing-node-specific query execution plan, wherein the set of processing-node-specific query execution plans and associated execution cost estimates is prepared in parallel on the plurality of processing nodes based on global statistics related to more than one processing node, low level statistics related to individual processing nodes and adjustments, by the individual processing nodes, based on the differences between processing-node-specific query execution plans and wherein each of the processing-node-specific query execution plans is optimized by an associated one of the plurality of processing nodes for the one of the plurality of processing nodes; selecting, by the one or more computer processors, an optimal query execution plan based on minimized execution cost, wherein the optimal query execution plan is one of the candidate plans; and executing, by the one or more computer processors, the optimal query execution plan.