Abstract:
A system and method for creation, modification and/or use of plan guide(s) is provided. Plan guide(s) can be employed to optimize the performance of query(ies) when it is not possible and/or desirable to change the text of the query directly. Plan guides can be useful, for example, when a small subset of queries in a database application deployed from a third-party vendor is not performing as expected. Plan guides influence optimization of queries by attaching query hints to them. In accordance with an aspect of the subject invention, a query plan execution system is provided. The system includes an execution component, a query optimizer, and, a plan cache. Plan guides and other associated metadata are stored in a plan guide metadata store.
Abstract:
Method and means are provided for simulating a contiguous data space within a computer memory, and for placing and accessing data objects of various sizes within the simulated contiguous data space. Multiple, sub-data spaces are concatenated in such a way that each page and each sub-data space in the contiguous data space are uniquely identified. Data objects are placed in the contiguous data space and at the first reference to a page of the data object, only the segment containing the referenced page in the contiguous data space is mapped to the database storage disk. Once a data space page is mapped, the operating system can read the page into memory without requesting a disk operation from the database manager. On modifying a page, if the database disk page location is changed, the contiguous data space page is remapped without changing the page address in the data space. Also, modified data pages are rewritten to the database storage disk in an ongoing manner set by the user, instead of at intervals set by the operating system.
Abstract:
Internal communications within components of an automated physical database design tool may be conducted in a data description language such as XML. Inputs to and outputs from the automated physical database design tool may also be presented in the data description language (e.g., XML). The communications, inputs and outputs may comply with a schema for the data description language. The schema may be written in a schema language such as XSD. Inputs presented in the data description language may comprise tuning options. Outputs may comprise a proposed physical design for a database and reports.
Abstract:
Method and means are provided for simulating a contiguous data space within a computer memory, and for placing and accessing data objects of various sizes within the simulated contiguous data space. Multiple, sub-data spaces are concatenated in such a way that each page and each sub-data space in the contiguous data space are uniquely identified. Data objects are placed in the contiguous data space and at the first reference to a page of the data object, only the segment containing the referenced page in the contiguous data space is mapped to the database storage disk. Once a data space page is mapped, the operating system can read the page into memory without requesting a disk operation from the database manager. On modifying a page, if the database disk page location is changed, the contiguous data space page is remapped without changing the page address in the data space. Also, modified data pages are rewritten to the database storage disk in an ongoing manner set by the user, instead of at intervals set by the operating system.
Abstract:
Flexible and efficient partitioning of a table is accomplished by hashing the key for an entry, and determining a partition for the entry by generating a sequence of pseudo-random numbers using the hashed key as the seed. As many pseudo-random numbers are generated as there are partitions available. The partition in which the entry belongs corresponds to the largest number in the sequence generated with the hashed key and the pseudo-random number generator. In this way, repartitioning of a partitioned table with a first number of partitions to a second number of partitions can be done with minimal movement and upon repartitioning, the new partition is the same partition that that would have resulted had a new partitioning been performed with the second number of partitions.
Abstract:
An automated physical database design tool may provide an integrated physical design recommendation for horizontal partitioning, indexes and indexed views, all three features being tuned together (in concert). Manageability requirements may be specified when optimizing for performance. User-specified configuration may enable the specification of a partial physical design without materialization of the physical design. The tuning process may be performed for a production server but may be conducted substantially on a test server. Secondary indexes may be suggested for XML columns. Tuning of a database may be invoked by any owner of a database. Usage of objects may be evaluated and a recommendation for dropping unused objects may be issued. Reports may be provided concerning the count and percentage of queries in the workload that reference a particular database, and/or the count and percentage of queries in the workload that reference a particular table or column. A feature may be provided whereby a weight may be associated with each statement in the workload, enabling relative importance of particular statements to be specified. An in-row length for a column may be specified. If a value for the column exceeds the specified in-row length for that column, the portion of the value not exceeding the specified in-row length may be stored in the row while the portion of the value exceeding the specified in-row length may be stored in an overflow area. Rebuild and reorganization recommendations may be generated.
Abstract:
Method and means are provided for simulating a contiguous data space within a computer memory, and for placing and accessing data objects of various sizes within the simulated contiguous data space. Multiple, sub-data spaces are concatenated in such a way that each page and each sub-data space in the contiguous data space are uniquely identified. Data objects are placed in the contiguous data space and at the first reference to a page of the data object, only the segment containing the referenced page in the contiguous data space is mapped to the database storage disk. Once a data space page is mapped, the operating system can read the page into memory without requesting a disk operation from the database manager. On modifying a page, if the database disk page location is changed, the contiguous data space page is remapped without changing the page address in the data space. Also, modified data pages are rewritten to the database storage disk in an ongoing manner set by the user, instead of at intervals set by the operating system.
Abstract:
Method and means are provided for simulating a contiguous data space within a computer memory, and for placing and accessing data objects of various sizes within the simulated contiguous data space. Multiple, sub-data spaces are concatenated in such a way that each page and each sub-data space in the contiguous data space are uniquely identified. Data objects are placed in the contiguous data space and at the first reference to a page of the data object, only the segment containing the referenced page in the contiguous data space is mapped to the database storage disk. Once a data space page is mapped, the operating system can read the page into memory without requesting a disk operation from the database manager. On modifying a page, if the database disk page location is changed, the contiguous data space page is remapped without changing the page address in the data space. Also, modified data pages are rewritten to the database storage disk in an ongoing manner set by the user, instead of at intervals set by the operating system.
Abstract:
A method of mapping data into a table includes identifying pointers of a source portion and target portion and switching the metadata pointers of the target portion to be those of the source portion. Upon switching the metadata pointers, the data of the source portion is mapped into the target portion of the table. The method of mapping exhibits the advantage of performing the mapping operation by moving metadata and not table content data. The method may be used on any portion of a database including files, tables, partitions, and indexes. In one embodiment, the switching of pointers includes copying the target portion metadata into temporary storage, copying source portion metadata into the target portion metadata, and copying metadata from the temporary storage into the source portion metadata.
Abstract:
A system, method and computer-readable medium containing computer-executable instructions for tuning queries is provided. A query processor converts a query into an execution plan in a hierarchical format that conforms to a standardized schema. In one embodiment of the invention, the hierarchical format employed is XML.