A system and methodology for generating bushy trees using a left-deep tree join enumeration strategy for optimizing execution of a database query is described. In response to receipt of a query specifying at least one join condition between two or more database tables, each query block comprising an atomic portion of the query is identified and subplans are created for each query block based on grouping portions of each query block. At least one favorable access plan is determined for each subplan of each query block based, at least in part, on estimated execution costs. An optimal access plan for each query block is generated based upon at least one favorable access plan determined for each subplan. A query execution plan is then constructed based upon the optimal access plan generated for each query block.
展开▼