← Back to Patent Explorer
US6665684B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Partition pruning with composite partitioning

Assignee: Oracle International Corp
•
Filing: 1999-09-27
•
Granted: 2003-12-16
•
Expires: 2019-09-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Techniques are disclosed for expanding the concept of partitioning in variety of ways. In particular techniques are provided for performing multiple-dimension partitioning. In multiple-dimension partitioning, a database object is divided into partitions based on one criteria, and each of those resulting partitions is divided into sub-partitions based on a second criteria. The process of partitioning partitions based on different criteria may be repeated across any number of dimensions. Entirely different partitioning techniques may be used for each level of partitioning. The database server takes advantage of partitions when processing queries by selectively accessing a subset of partitions on disk or reducing the number of internal join operations.

Inventors

  • 👤 Mohamed Zait
  • 👤 Benoit Dageville
  • 👤 Andre Kruglikov
  • 👤 Gianfranco Putzolu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 20:52
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/22; G06F16/2228; G06F16/2264; G06F16/2255; G06F16/24; G06F16/245; G06F16/2455; G06F16/24553; G06F16/24554; G06F16/24557; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99941; Y10S707/99942; Y10S707/99943

Claims Analysis

Total Claims: 80
Claim 1
Independent Claim 159 words
A method for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and partitioning the object at a third level by applying a third partitioning criteria to each partition in said second set of partitions to produce a third set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 2
Independent Claim 159 words
A method for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and partitioning the object at a third level by applying a third partitioning criteria to each partition in said second set of partitions to produce a third set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 3
Dependent Claim 41 words
The method of claim 1 wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 4
Dependent Claim 23 words
The method of claim 2 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 5
Dependent Claim 30 words
The method of claim 3 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 6
Dependent Claim 23 words
The method of claim 3 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 7
Dependent Claim 44 words
The method of claim 2 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 8
Dependent Claim 120 words
The method of claim 1 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said first key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 9
Dependent Claim 92 words
The method of claim 1 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said first key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 10
Dependent Claim 54 words
The method of claim 1 , wherein at least one partition of said first set of partitions includes portions of a plurality of partitions in said second set of partitions, and at least one partition of said second set of partitions includes portions of a plurality of partitions from said first set of partitions.
Claim 11
Dependent Claim 42 words
The method of claim 1 , wherein, at each given level at which said object is partitioned, the partitioning function uses the same partitioning key and the same partitioning bounds of said partitioning key to produce all partitions at said given level.
Claim 12
Dependent Claim 37 words
The method of claim 1 , further comprising the step of, at each level at which said object is partitioned, using partitions generated at said level to perform a partition-wise join between said object and another object.
Claim 13
Independent Claim 148 words
A method for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: by using a partitioning technique other than hash partitioning, partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; and by using a partitioning technique other than range-based partitioning, partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 14
Independent Claim 148 words
A method for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: by using a partitioning technique other than hash partitioning, partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; and by using a partitioning technique other than range-based partitioning, partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 15
Dependent Claim 42 words
The method of claim 12 , wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 16
Dependent Claim 23 words
The method of claim 13 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 17
Dependent Claim 30 words
The method of claim 14 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 18
Dependent Claim 23 words
The method of claim 14 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 19
Dependent Claim 44 words
The method of claim 14 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 20
Dependent Claim 107 words
The method of claim 13 wherein the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said particular key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 21
Dependent Claim 79 words
The method of claim 13 wherein the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said particular key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 22
Dependent Claim 17 words
The method of claim 12 , wherein the partitioning technique other than range-based partitioning is hash partitioning.
Claim 23
Independent Claim 151 words
A method for partitioning an object in a system that includes a plurality of nodes, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and storing said second set of partitions at a location accessible to all nodes of said plurality of nodes that require access to data from said object; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 24
Independent Claim 151 words
A method for partitioning an object in a system that includes a plurality of nodes, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and storing said second set of partitions at a location accessible to all nodes of said plurality of nodes that require access to data from said object; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 25
Dependent Claim 41 words
The method of claim 21 wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 26
Dependent Claim 23 words
The method of claim 22 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 27
Dependent Claim 30 words
The method of claim 23 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 28
Dependent Claim 23 words
The method of claim 23 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 29
Dependent Claim 44 words
The method of claim 22 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 30
Dependent Claim 120 words
The method of claim 21 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said first key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 31
Dependent Claim 92 words
The method of claim 21 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said first key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 32
Independent Claim 154 words
A method for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: receiving data from a user that specifies at least a first partitioning criteria for said object and a second partitioning criteria for said object; partitioning the object at a first level by applying said first partitioning criteria to the object to produce a first set of partitions; and partitioning the object at a second level by applying said second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 33
Independent Claim 154 words
A method for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the method comprising the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: receiving data from a user that specifies at least a first partitioning criteria for said object and a second partitioning criteria for said object; partitioning the object at a first level by applying said first partitioning criteria to the object to produce a first set of partitions; and partitioning the object at a second level by applying said second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 34
Dependent Claim 41 words
The method of claim 29 wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 35
Dependent Claim 23 words
The method of claim 30 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 36
Dependent Claim 30 words
The method of claim 31 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 37
Dependent Claim 23 words
The method of claim 31 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 38
Dependent Claim 44 words
The method of claim 30 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 39
Dependent Claim 120 words
The method of claim 29 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said first key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 40
Dependent Claim 92 words
The method of claim 29 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the method further comprising the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said first key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 41
Dependent Claim 166 words
A computer-readable medium carrying instructions for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and partitioning the object at a third level by applying a third partitioning criteria to each partition in said second set of partitions to produce a third set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 42
Dependent Claim 166 words
A computer-readable medium carrying instructions for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and partitioning the object at a third level by applying a third partitioning criteria to each partition in said second set of partitions to produce a third set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 43
Dependent Claim 42 words
The computer-readable medium of claim 37 wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 44
Dependent Claim 24 words
The computer-readable medium of claim 38 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 45
Dependent Claim 31 words
The computer-readable medium of claim 39 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 46
Dependent Claim 24 words
The computer-readable medium of claim 39 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 47
Dependent Claim 45 words
The computer-readable medium of claim 38 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 48
Dependent Claim 125 words
The computer-readable medium of claim 37 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said first key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 49
Dependent Claim 97 words
The computer-readable medium of claim 37 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said first key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 50
Dependent Claim 55 words
The computer-readable medium of claim 37 , wherein at least one partition of said first set of partitions includes portions of a plurality of partitions in said second set of partitions, and at least one partition of said second set of partitions includes portions of a plurality of partitions from said first set of partitions.
Claim 51
Dependent Claim 43 words
The computer-readable medium of claim 37 , wherein, at each given level at which said object is partitioned, the partitioning function uses the same partitioning key and the same partitioning bounds of said partitioning key to produce all partitions at said given level.
Claim 52
Dependent Claim 41 words
The computer-readable medium of claim 37 , further comprising instructions for performing the step of, at each level at which said object is partitioned, using partitions generated at said level to perform a partition-wise join between said object and another object.
Claim 53
Dependent Claim 155 words
A computer-readable medium carrying instructions for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: by using a partitioning technique other than hash partitioning, partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; and by using a partitioning technique other than range-based partitioning, partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 54
Dependent Claim 155 words
A computer-readable medium carrying instructions for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: by using a partitioning technique other than hash partitioning, partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; and by using a partitioning technique other than range-based partitioning, partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 55
Dependent Claim 43 words
The computer-readable medium of claim 48 , wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 56
Dependent Claim 24 words
The computer-readable medium of claim 49 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 57
Dependent Claim 31 words
The computer-readable medium of claim 50 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 58
Dependent Claim 24 words
The computer-readable medium of claim 50 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 59
Dependent Claim 45 words
The computer-readable medium of claim 50 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 60
Dependent Claim 112 words
The computer-readable medium of claim 49 wherein the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said particular key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 61
Dependent Claim 84 words
The computer-readable medium of claim 49 wherein the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said particular key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 62
Dependent Claim 18 words
The computer-readable medium of claim 48 , wherein the partitioning technique other than range-based partitioning is hash partitioning.
Claim 63
Dependent Claim 158 words
A computer-readable medium carrying instructions for partitioning an object in a system that includes a plurality of nodes, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and storing said second set of partitions at a location accessible to all nodes of said plurality of nodes that require access to data from said object; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 64
Dependent Claim 158 words
A computer-readable medium carrying instructions for partitioning an object in a system that includes a plurality of nodes, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: partitioning the object at a first level by applying a first partitioning criteria to the object to produce a first set of partitions; partitioning the object at a second level by applying a second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; and storing said second set of partitions at a location accessible to all nodes of said plurality of nodes that require access to data from said object; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 65
Dependent Claim 42 words
The computer-readable medium of claim 57 wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 66
Dependent Claim 24 words
The computer-readable medium of claim 58 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 67
Dependent Claim 31 words
The computer-readable medium of claim 59 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 68
Dependent Claim 24 words
The computer-readable medium of claim 59 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 69
Dependent Claim 45 words
The computer-readable medium of claim 58 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 70
Dependent Claim 125 words
The computer-readable medium of claim 57 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said first key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 71
Dependent Claim 97 words
The computer-readable medium of claim 57 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said first key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.
Claim 72
Dependent Claim 161 words
A computer-readable medium carrying instructions for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: receiving data from a user that specifies at least a first partitioning criteria for said object and a second partitioning criteria for said object; partitioning the object at a first level by applying said first partitioning criteria to the object to produce a first set of partitions; and partitioning the object at a second level by applying said second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 73
Dependent Claim 161 words
A computer-readable medium carrying instructions for partitioning an object to enable partition pruning for a wider variety of statements that access the object, the computer-readable medium comprising instructions for performing the steps of: performing multi-level partitioning of the object by applying partitioning criteria on a per-level basis for a plurality of partitioning levels, wherein the step of applying partitioning criteria comprises: receiving data from a user that specifies at least a first partitioning criteria for said object and a second partitioning criteria for said object; partitioning the object at a first level by applying said first partitioning criteria to the object to produce a first set of partitions; and partitioning the object at a second level by applying said second partitioning criteria to each partition in said first set of partitions to produce a second set of partitions; wherein, for every level at which said object is partitioned, the same partitioning function is used to produce all partitions in said level.
Claim 74
Dependent Claim 42 words
The computer-readable medium of claim 65 wherein said first partitioning criteria groups data from said object into partitions based on a particular key, wherein each partition of said first set of partitions corresponds to a particular value range for said particular key.
Claim 75
Dependent Claim 24 words
The computer-readable medium of claim 66 wherein said second partitioning criteria groups data from said first set of partitions based on a hash function.
Claim 76
Dependent Claim 31 words
The computer-readable medium of claim 67 wherein said hash function used to create said second set of partitions is performed on a second key that is different than said particular key.
Claim 77
Dependent Claim 24 words
The computer-readable medium of claim 67 wherein said hash function used to create said second set of partitions is performed on said particular key.
Claim 78
Dependent Claim 45 words
The computer-readable medium of claim 66 wherein said second partitioning criteria groups data from said first set of partitions into partitions based on a second key, wherein each partition of said second set of partitions corresponds to a particular value range for said second key.
Claim 79
Dependent Claim 125 words
The computer-readable medium of claim 65 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said first key and said second key; excluding from an execution plan for said statement one or more partitions of said first set of partitions based on said selection criteria and said first partitioning criteria; and excluding from said execution plan for said statement one or more partitions of said second set of partitions based on said selection criteria and said second partitioning criteria.
Claim 80
Dependent Claim 97 words
The computer-readable medium of claim 65 wherein the first partitioning criteria partitions the object based on a first key, and the second partitioning criteria partitions the first set of partitions based on a second key, the computer-readable medium further comprising instructions for performing the steps of: receiving a statement that includes selection criteria that selects data from said object based on said second key but not said first key; and excluding from an execution plan for said statement one or more partitions of said second set of partitions based on selection criteria and said second partitioning criteria.

References Cited (Backward Citations)

US5675791A Cited
US5970495A Cited
US5983215A Cited
US6092062A Cited
US6112198A Cited
US5884320A Cited
US6240428B1 Cited
US6003036A Cited
US6230151B1 Cited
US6223182B1 Cited
US6263331B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-12-15 2007-06-16 2007-12-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-12-15 2011-06-16 2011-12-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-12-15 2015-06-16 2015-12-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag