Method and mechanism for database partitioning
First Claim
Patent Images
1. A method of executing a query against a first database object that is partitioned using a partition definition based upon information located in a second database object, comprising:
- accessing metadata comprising the partition definition;
using the partition definition and a predicate in the query to determine a set of one or more partitions for the first database object, the one or more partitions for the first database object being based upon information located in the second database object,wherein the second database object comprises a dimension table with a row that corresponds to a data item in the first database object, the row of the dimension table providing detailed information relevant to the data item in the first database object, andwherein a part of the detailed information comprises the information for the partition of the first database objectwherein the metadata is accessed from a data dictionary that is different from the second database object; and
pruning from the set of the one or more partitions one or more partitions that are not relevant to the query,wherein the act of pruning is performed at compile time or at execution time for the query.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a method and mechanism for partitioning using information not directly located in the object being partitioned. According to an embodiment of the invention, foreign key-primary key relationships are utilized to create join conditions between multiple database tables to implement partitioning of a database object. Also, disclosed are methods and mechanisms to perform partition pruning.
35 Citations
26 Claims
-
1. A method of executing a query against a first database object that is partitioned using a partition definition based upon information located in a second database object, comprising:
-
accessing metadata comprising the partition definition;
using the partition definition and a predicate in the query to determine a set of one or more partitions for the first database object, the one or more partitions for the first database object being based upon information located in the second database object,wherein the second database object comprises a dimension table with a row that corresponds to a data item in the first database object, the row of the dimension table providing detailed information relevant to the data item in the first database object, and wherein a part of the detailed information comprises the information for the partition of the first database object wherein the metadata is accessed from a data dictionary that is different from the second database object; and pruning from the set of the one or more partitions one or more partitions that are not relevant to the query, wherein the act of pruning is performed at compile time or at execution time for the query. - View Dependent Claims (2, 3, 4, 5, 15, 18, 19, 20)
-
-
6. A computer program product that includes a volatile or non-volatile medium usable by a processor, the medium having stored thereon a sequence of instructions which, when executed by said processor, causes said processor to execute a process for executing a query against a first database object that is partitioned using a partition definition based upon information located in a second database object, said process comprising:
-
accessing metadata comprising the partition definition; using the partition definition and a predicate in the query to determine a set of one or more partitions for the first database object, the one or more partitions for the first database object being based upon information located in the second database object, wherein the second database object comprises a dimension table with a row that corresponds to a data item in the first database object, the row of the dimension table providing detailed information relevant to the data item in the first database object, and wherein a part of the detailed information comprises the information for the partition of the first database object, wherein the metadata is accessed from a data dictionary that is different from the second database object; and pruning from the set of the one or more partitions one or more partitions that are not relevant to the query, wherein the act of pruning is performed at compile time or at execution time for the query. - View Dependent Claims (7, 8, 9, 10, 16, 21, 22, 23)
-
-
11. A computer-implemented system for executing a query against a first database object that is partitioned using a partition definition based upon information located in a second database object, the system comprising:
-
means for accessing metadata comprising the partition definition; means for using the partition definition and a predicate in the query to determine a set of one or more partitions for the first database object, the one or more partitions for the first database object being based upon information located in the second database object, wherein the second database object comprises a dimension table with a row that corresponds to a data item in the first database object, the row of the dimension table providing detailed information relevant to the data item in the first database object, and wherein a part of the detailed information comprises the information for the partition of the first database object wherein the metadata is accessed from a data dictionary that is different from the second database object; and means for pruning from the set of the one or more partitions one or more partitions that are not relevant to the query, wherein the act of pruning is performed at compile time or at execution time for the query. - View Dependent Claims (12, 13, 14, 17, 24, 25, 26)
-
Specification