A query progress indicator that provides an indication to a user of the
progress of a query being executed on a database. The indication of the
progress of the query allows the user to decide whether the query should
be allowed to complete or should be aborted. One method that may be used
to estimate the progress of a query that is being executed on a database
defines a model of work performed during execution of a query. The total
amount of work that will be performed during execution of the query is
estimated according to the model. The amount of work performed at a given
point during execution of the query is estimated according to the model.
The progress of the query is estimated using the estimated amount of work
at the given point in time and the estimated total amount of work. This
estimated progress of query execution may be provided to the user.