US Patent No: 6,985,904

Number of patents in Portfolio can not be more than 2000

Systems and methods for sharing of execution plans for similar database statements

Stats

ATTORNEY / AGENT: (SPONSORED)
 

Importance

Loading Importance Indicators... loading....

Abstract

A database statement, such as a SQL text, reuses the execution plan compiled for a similar SQL text found in memory if the value of a system parameter is configured for cursor sharing among optimally shareable SQL texts and the SQL text is optimally shareable with the similar SQL text found in memory. Reuse also occurs if the value of a system parameter is configured for cursor sharing among all shareable SQL texts and the SQL text is suboptimally or optimally shareable with the similar SQL text found in memory. For SQL text that is non-shareable with a similar SQL text found in memory, no execution plan sharing takes place.

Loading the Abstract Image... loading....

First Claim

Related Publications

Loading Related Publications... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
ORACLE INTERNATIONAL CORPORATIONREDWOOD SHORES, CA3637

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Jain, Namit Foster City, CA 97 634
Kaluskar, Sanjay Mountain View, CA 32 157

Cited Art

Patent Info (Count) # Cites Year
 
ORACLE INTERNATIONAL CORPORATION (34)
5,412,804 Extending the semantics of the outer join operator for un-nesting queries to a data base 139 1992
5,404,510 Database index design based upon request importance and the reuse and modification of similar existing indexes 112 1992
5,664,172 Range-based query optimizer 121 1994
5,495,608 Dynamic index retrieval, bit mapping, and optimization of a single relation access 83 1994
5,819,251 System and apparatus for storage retrieval and analysis of relational and non-relational data 91 1996
5,892,945 Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules 34 1996
5,761,654 Memory structure and method for tuning a database statement using a join-tree data structure representation, including selectivity factors, of a master table and detail table 30 1996
5,802,523 Method and apparatus for reducing the memory required to store bind variable descriptors in a database 24 1996
6,014,656 Using overlapping partitions of data for query optimization 53 1996
5,899,993 Method and apparatus for achieving an enforced and valid constraint state 16 1996
5,802,521 Method and apparatus for determining distinct cardinality dual hash bitmaps 21 1996
5,956,705 Reverse-byte indexing 18 1996
6,439,783 Range-based query optimizer 55 1997
5,899,986 Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer 40 1997
5,822,748 Group by and distinct sort elimination using cost-based optimization 39 1997
5,903,888 Method and apparatus for using incompatible types of indexes to process a single query 15 1997
5,907,844 Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization 20 1997
5,857,180 Method and apparatus for implementing parallel operations in a database management system 129 1997
6,026,391 Systems and methods for estimating query response times in a computer system 76 1997
6,370,619 Managing partitioned cache 25 1998
5,974,408 Method and apparatus for executing a query that specifies a sort plus operation 23 1998
6,029,163 Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer 55 1998
6,505,227 Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules 9 1999
6,351,742 Method and mechanism for database statement optimization 29 1999
6,370,522 Method and mechanism for extending native optimization in a database system 42 1999
6,401,083 Method and mechanism for associating properties with objects and instances 22 1999
6,144,957 Method and apparatus for using incompatible types of indexes to process a single query 30 1999
6,421,662 Generating and implementing indexes based on criteria set forth in queries 28 1999
6,374,257 Method and system for removing ambiguities in a shared database command 13 1999
6,546,394 Database system having logical row identifiers 21 1999
6,581,055 Query optimization with switch predicates 45 2000
6,606,627 Techniques for managing resources for multiple exclusive groups 23 2001
6,470,423 Managing partitioned cache 9 2001
6,615,206 Techniques for eliminating database table joins based on a join index 15 2002
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (14)
5,615,359 Data server with data probes employing predicate tests in rule statements 20 1994
5,758,144 Database execution cost and system performance estimator 29 1994
5,875,334 System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements 91 1995
5,734,884 Database execution cost and system performance estimator 30 1996
5,987,455 Intelligent compilation of procedural functions for query processing systems 29 1997
6,003,022 Database execution cost and system performance estimator 76 1997
6,269,373 Method and system for persisting beans as container-managed fields 131 1999
6,219,660 Access path selection for SQL with variables in a RDBMS 18 1999
6,598,041 Method, system, and program for processing modifications to data in tables in a database system 8 2000
6,665,678 Method, system, and program for optimistic concurrency control for scrollable cursors in a database 14 2000
6,643,637 Method, system, and program for using a fetch request to make data available to an application program 5 2001
6,694,305 Method, system, and program for processing modifications to data in tables in a database system 5 2001
6,721,731 Method, system, and program for processing a fetch request for a target row at an absolute position from a first entry in a table 5 2001
2003/0120,682 Database query optimization apparatus and method that represents queries as graphs 12 2001
 
HITACHI, LTD. (1)
6,457,007 Distributed database management system including logical database constituted by a group of physical databases 91 1994
 
LUCENT TECHNOLOGIES INC. (1)
5,963,742 Using speculative parsing to process complex input data 22 1997
 
MICROSOFT CORPORATION (1)
6,356,887 Auto-parameterization of database queries 62 1999

Patent Citation Ranking

Forward Cites

Patent Info (Count) # Cites Year
 
ORACLE INTERNATIONAL CORPORATION (16)
7,702,623 Extended cursor sharing 1 2007
7,689,550 Adaptive cursor sharing 4 2007
7,979,420 Handling silent relations in a data stream management system 5 2007
8,296,316 Dynamically sharing a subtree of operators in a data stream management system operating on existing queries 0 2007
7,996,388 Adding new continuous queries to a data stream management system operating on existing queries 6 2007
8,073,826 Support for user defined functions in a data stream management system 2 2007
7,991,766 Support for user defined aggregations in a data stream management system 4 2007
7,673,065 Support for sharing computation between aggregations in a data stream management system 14 2007
8,335,767 Maintaining and utilizing SQL execution plan histories 0 2008
8,352,517 Infrastructure for spilling pages to a persistent store 0 2009
8,145,859 Method and system for spilling from a queue to a persistent store 0 2009
8,387,076 Standardized database connectivity support for an event processing server 0 2009
8,321,450 Standardized database connectivity support for an event processing server in an embedded context 2009
8,386,466 Log visualization tool for a data stream processing server 0 2009
8,301,667 Method and system for implementing efficient cursor pruning 0 2010
8,204,875 Support for user defined aggregations in a data stream management system 0 2011
 
PERFECT SEARCH CORPORATION (9)
8,176,052 Hyperspace index 0 2007
7,644,082 Abbreviated index 0 2007
8,266,152 Hashed indexing 0 2007
7,774,347 Vortex searching 0 2007
7,774,353 Search templates 0 2007
8,032,495 Index compression 0 2008
7,912,840 Indexing and filtering using composite data stores 0 2008
8,037,075 Pattern index 2 2008
8,392,426 Indexing and filtering using composite data stores 0 2011
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (7)
7,516,138 Method for optimized parameter binding 0 2003
7,412,439 Method for statistics management 4 2004
7,668,805 System and method for managing query access to information 0 2004
7,814,072 Management of database statistics 1 2004
7,984,024 Statistics management 0 2008
8,060,495 Query execution plan efficiency in a database management system 0 2008
8,352,945 System, method, and apparatus for scan-sharing for business intelligence queries in an in-memory database 0 2009
 
GOOGLE INC. (3)
7,099,858 Data management system that provides intelligent access plan caching 9 2003
7,289,978 Substituting parameter markers for literals in database query language statement to promote reuse of previously generated access plans 0 2003
7,302,422 Query workload statistics collection in a database management system 16 2004
 
MICROSOFT CORPORATION (3)
7,640,230 Query plan selection control using run-time association mechanism 1 2005
8,032,522 Optimizing parameterized queries in a relational database management system 5 2006
8,103,638 Partitioning of contended synchronization objects 1 2009
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (2)
7,574,421 Explicit key paging 0 2006
7,898,817 Circuit board assembly 0 2006
 
SYBASE, INC. (2)
7,174,326 Database system providing methodology for prepared statement cloning 1 2004
7,818,313 Method for distributing processing of queries over a cluster of servers in a continuous processing system 2 2006
 
YAHOO! INC. (2)
7,962,479 System and method for generating substitutable queries 4 2007
7,831,588 Context-sensitive query expansion 0 2008
 
IANYWHERE SOLUTIONS, INC. (1)
7,359,922 Database system and methodology for generalized order optimization 7 2004
 
SAP AG (1)
7,571,191 Defining a data analysis process 3 2004

Maintenance Fees

Fee Large entity fee small entity fee micro entity fee due date
7.5 Year Payment $3600.00 $1800.00 $900.00 Jul 10, 2013
11.5 Year Payment $7400.00 $3700.00 $1850.00 Jul 10, 2017
Fee Large entity fee small entity fee micro entity fee
Surcharge - 7.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge - 11.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge after expiration - Late payment is unavoidable $700.00 $350.00 $175.00
Surcharge after expiration - Late payment is unintentional $1,640.00 $820.00 $410.00