Claims
- 1. A database management system for managing data in a database, comprising:a query optimizer for selecting an executable procedure from a plurality of procedures that operate on data in a database, wherein said query optimizer automatically generates a statistic derived from the data that is operated upon by one of the plurality of procedures, and selects the executable procedure from the plurality of procedures based on said statistic.
- 2. The database management system of claim 1, wherein the data is organized in tables formed from columns and rows and said statistic is automatically generated for a selected column.
- 3. The database management system of claim 1, wherein said query optimizer determines if said selected column is of a type for which a statistic can be generated and if so generates a statistic.
- 4. A database management system for managing data in a database, comprising:a query optimizer for selecting an executable procedure from a plurality of procedures that operate on data in a database, wherein said query optimizer identifies that a statistic does not exist for data that is operated upon by one of the plurality of procedures; automatically generates said statistic; and selects the executable procedure from the plurality of procedures based on said statistic.
- 5. A database management system for managing data in a database, comprising:a query optimizer for selecting an executable procedure from a plurality of procedures that operate on data in a database, wherein said query optimizer automatically generates a statistic derived from the data that is operated upon by one of the plurality of procedures; selects the executable procedure from the plurality of procedures based on said statistic; and automatically removes said statistic if said statistic is frequently updated.
- 6. The database management system of claim 5, wherein the data is organized in tables formed from columns and rows and said statistic is generated for a selected column.
- 7. A database management system for managing data in a database, comprising:a query optimizer for selecting an executable procedure from a plurality of procedures that operate on data in a database, wherein said query optimizer automatically generates a statistic derived from the data that is operated upon by one of the plurality of procedures; generates a statistic update counter for said statistic; selects the executable procedure from the plurality of procedures based on said statistic; increments said statistic update counter when said statistic is updated; and automatically removes said statistic if said statistic update counter breaches a threshold value.
- 8. The database management system of claim 7, wherein said threshold value is a constant.
- 9. The database management system of claim 7, wherein said threshold value is a function of the data.
- 10. A database management system for managing data in a database, comprising:computer-readable instructions for generating a plurality of procedures that operate on data in a database; computer-readable instructions for automatically generating a statistic derived from the data that is operated upon by one of the plurality of procedures; and computer-readable instructions for selecting an executable procedure from the plurality of procedures based on said statistic.
- 11. A database management system for managing data in a database, comprising:computer-readable instructions for generating a plurality of procedures that operate on data in a database; computer-readable instructions for automatically generating a statistic derived from the data that is operated upon by one of the plurality of procedures; computer-readable instructions for generating a statistic update counter for said statistic; computer-readable instructions for selecting the executable procedure from the plurality of procedures based on said statistic; computer-readable instructions for incrementing said statistic update counter when said statistic is updated; and computer-readable instructions for automatically removing said statistic if said statistic update counter breaches a threshold.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related by subject matter to the inventions disclosed in commonly assigned U.S. Patent Application Ser. No. 09/212,933, filed Dec. 16, 1998 and entitled “Automatic Database Statistics Maintenance and Plan Regeneration”, the contents of which are incorporated by reference in their entirety.
US Referenced Citations (5)
Number |
Name |
Date |
Kind |
5630120 |
Vachey |
May 1997 |
A |
5806061 |
Chaudhuri et al. |
Sep 1998 |
A |
6012054 |
Seputis |
Jan 2000 |
A |
6052689 |
Muthukrishnan et al. |
Apr 2000 |
A |
6065007 |
Muthukrishnan et al. |
May 2000 |
A |
Non-Patent Literature Citations (3)
Entry |
A tool for nesting and clustering large objects of Dietker et al. (IEEE publication, 7-2000) from Scientific and statistical database management proc. 12th Intern. Confer., pp. 169-181.* |
Automating statistics management for query optimizer by Chaudhuri et al. (IEEE publication 3-2000) from Knowledge and data engineering, vol. 13, No. 1, pp. 7-20.* |
Soukup, R., “Inside SQL Server™ 6.5”, Microsoft® Programming Series, Microsoft® Press, 1997 pp. 1-32 (renumbered). |