1. A method for receiving parallel result streams for database queries, comprising: establishing, within a client, an initiator session with a database server; sending a query from the initiator session to the database server; receiving, at the initiator session, access to a plurality of top-level nodes in a query plan stored on the database server, wherein the query plan includes knowledge of data placement and cost of Structured Query Language operations of a top-level node for determining a placement of the top-level node in the query plan; establishing a plurality of consumer sessions with the database server, wherein the consumer sessions are within the client; receiving, at the consumer sessions, a plurality of parallel result streams from the top-level nodes, the parallel result streams including query results for the query; and sending the query results to a plurality of destinations from the consumer sessions.