Patent ID: 8874548

Claim:
A system for predicting query execution time in a database system, comprising: a processor, a cost model determination device for determining a cost model of a database query optimizer for the database system, the cost model for modeling costs of queries applied to the database system, wherein the optimizer estimates a cost of each operator as a vector of cost units c=(C s ; C r ; C t ; C i ; C o ) T |, wherein c s : seq_page_cost, I/O cost to sequentially scan a page; c r : random_page_cost, I/O cost to randomly access a page; c t : cpu_tuple_cost, CPU cost to process a tuple; c i : cpu_index_tuple_cost, CPU cost to process a tuple via index access; or c o : cpu_operator_cost, CPU cost to perform an operation, and where a cost C O of an operator O in a query plan is represented as a linear combination as: C O =n T c=n s ·c s +n r ·c r +n t ·c t +n i ·c i +n o ·c o .; a profiling device for determining a group of profiling queries for profiling input/output cost units and processor cost units relating to the database system, and for profiling the input/output cost units and the processor cost units using one or more of the profiling queries in the group to output profiled input/output cost units and profiled processor cost units; a calibrating device for calibrating cost units in the cost model responsive to the profiled input/output cost units and the profiled processor cost units to output calibrated cost units; a sampling re-estimator for sampling and re-estimating a cardinality estimation of a final query plan to output an updated cardinality estimation; and a predictor for applying the calibrated cost units and the updated cardinality estimation in the cost model to generate a prediction of an execution time of a given query.