1. A computer-based method for estimating a query compilation time of a query optimizer, said computer-based method implemented in computer readable program code stored in computer memory, said computer-based method comprising the steps of: (a) receiving a query; (b) iterating through possible join pairs for said query; (c) for each join pair, identifying a set of differentiating properties and using said identified set of differentiating properties to calculate number of join plans; and (d) estimating the compilation time from said calculated number of join plans for each type of join method; and (e) outputting the estimated compilation time.