1. A computer-implemented method comprising: providing in a non-transitory computer readable storage medium at a server, a database comprising data organized in tables; posing a query to the database through an engine; causing the engine to provide to a user, a visual representation of a database query plan search space, wherein the visual representation comprises a tree structure including a plurality of nodes, and wherein a cost is associated with each of the plurality of nodes; causing the engine to provide to the user, a second visual representation of the database query plan search space, wherein the second visual representation comprises a plurality of polygons, wherein the plurality of polygons correspond to the plurality of nodes, and wherein an area of each polygon depends on the cost of each corresponding node; based upon the visual representation of the database query plan search space, providing a query plan manipulation request to the database through the engine, wherein the query plan manipulation request corresponds to a direct manipulation of the visual representation; returning to the engine from the database, a result of the query plan manipulation request; causing the engine to display the result to the user; and storing the result in a second non-transitory computer readable storage medium.