CA2562281A1 - Partial query caching - Google Patents

Partial query caching Download PDF

Info

Publication number
CA2562281A1
CA2562281A1 CA002562281A CA2562281A CA2562281A1 CA 2562281 A1 CA2562281 A1 CA 2562281A1 CA 002562281 A CA002562281 A CA 002562281A CA 2562281 A CA2562281 A CA 2562281A CA 2562281 A1 CA2562281 A1 CA 2562281A1
Authority
CA
Canada
Prior art keywords
plan
results set
operator
plan operator
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002562281A
Other languages
French (fr)
Other versions
CA2562281C (en
Inventor
Cetin Ozbutun
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corporation
Cetin Ozbutun
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corporation, Cetin Ozbutun filed Critical Oracle International Corporation
Publication of CA2562281A1 publication Critical patent/CA2562281A1/en
Application granted granted Critical
Publication of CA2562281C publication Critical patent/CA2562281C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Abstract

When a query is performed an execution plan is formed, which is made up of a plurality of plan operators. Before executing any given plan operator, a storage area is checked. If a results set has been stored corresponding to the plan operator, then the cached results set is used instead of the executing the plan operator. If no results set exists that corresponds to the particular plan operator, the plan operator is executed, and the results set that is output may be stored for use by another plan operator of another execution plan.

Claims (24)

1. A method for computing a query at a database server comprising:
receiving a first query at the database server from a user;
generating a first plan for executing the first query through the database server, wherein the plan includes a first plurality of plan operators that include at least a first plan operator that outputs a first results set;
generating a first signature for the first plan operator;
generating the first results set by executing the first plan operator;
storing the first results set in association with the first signature;
after storing the first results set in association with the first signature:
receiving a second query from the user;
generating a second plan for executing the second query through the database server, wherein the second execution plan includes a second plurality of plan operators that include at least a second plan operator;
determining, based on the first signature, that at least a subset of the first results set may be used as a second results set of said second operator;
and computing a second results set for the second query based on the subset of the first results set that was stored.
2. The method of claim 1, wherein the signature is generated based on operations performed by the first plan operator.
3. The method of claim 1, wherein the step of determining includes at least comparing a signature of the second plan operator with stored signatures of a plurality of plan operators to determine if each of the plurality of plan operators is the second plan operator.
4. The method of claim 1, wherein the first plan operator and the second plan operator are identical.
5. The method of claim 1, where the first plan operator and the second plan operator are not identical.
6. The method of claim 1, where the first plan operator and the second plan operator are similar.
7. The method of claim 1, wherein the first plan operator and the second plan operator are identical, but the first results set and the second results set are different.
8. The method of claim 1, wherein the first execution plan includes a third plan operator, the method further comprises: outputting a third results set in response to the third plan operator, wherein the third results set is not stored.
9. The method of claim 1, wherein the step of determining includes at least determining when the first results set was computed.
10. The method of claim 1, wherein a difference exist between the first plan operator and the second plan operator, and the step of computing includes at least modifying the first results set based on the difference.
11. The method of claim 1, wherein receiving a second query from the user includes receiving the second query from a different user.
12. The method of claim 1, further comprising computing the subset of the first results set by applying a filter to the first results set that was stored, wherein the subset is generated based on a condition contained in the second query.
13. A machine-readable medium carrying one or more sequences of instructions, which when executed by one or more processors, causes the one or more processors to perform a method comprising the steps of:

receiving a first query at the database server from a user;
generating a first plan for executing the first query through the database server, wherein the plan includes a first plurality of plan operators that include at least a first plan operator that outputs a first results set;
generating a first signature for the first plan operator;
generating the first results set by executing the first plan operator;
storing the first results set in association with the first signature;
after storing the first results set in association with the first signature:
receiving a second query from the user;
generating a second plan for executing the second query through the database server, wherein the second execution plan includes a second plurality of plan operators that include at least a second plan operator;
determining, based on the first signature, that at least a subset of the first results set may be used as a second results set of said second operator;
and computing a second results set for the second query based on the subset of the first results set that was stored.
14. The machine-readable medium of claim 13, wherein the signature is generated based on operations performed by the first plan operator.
15. The machine-readable medium of claim 13, wherein the step of determining includes at least comparing a signature of the second plan operator with stored signatures of a plurality of plan operators to determine if each of the plurality of plan operators is the second plan operator.
16. The machine-readable medium of claim 13, wherein the first plan operator and the second plan operator are identical.
17. The machine-readable medium of claim 13, where the first plan operator and the second plan operator are not identical.
18. The machine-readable medium of claim 13, where the first plan operator and the second plan operator are similar.
19. The machine-readable medium of claim 13, wherein the first plan operator and the second plan operator are identical, but the first results set and the second results set are different.
20. The machine-readable medium of claim 13, wherein the first execution plan includes a third plan operator, the method further comprises: outputting a third results set in response to the third plan operator, wherein the third results set is not stored.
21. The machine-readable medium of claim 13, wherein the step of determining includes at least determining when the first results set was computed.
22. The machine-readable medium of claim 13, wherein a difference exist between the first plan operator and the second plan operator, and the step of computing includes at least modifying the first results set based on the difference.
23. The machine-readable medium of claim 13, wherein receiving a second query from the user includes receiving the second query from a different user.
24. The machine-readable medium of claim 13, further comprising computing the subset of the first results set by applying a filter to the first results set that was stored, wherein the subset is generated based on a condition contained in the second query.

1. A method for computing a query at a database server comprising:
receiving a first query at the database server from a user;
generating a first plan for executing the first query through the database server, wherein the plan includes a first plurality of plan operators that include at least a first plan operator that outputs a first results set;
generating a first signature for the first plan operator;
generating the first results set by executing the first plan operator;
storing the first results set in association with the first signature;
after storing the first results set in association with the first signature:
receiving a second query from the user;
generating a second plan for executing the second query through the database server, wherein the second execution plan includes. a second plurality of plan operators that include at least a second plan operator;
determining, based on the first signature, that at least a subset of the first results set may be used as a second results set of said second operator, and computing a second results set for the second query based on the subset of the first results set that was stored.

2. The method of claim 1, wherein the signature is generated based on operations performed by the first plan operator.

3. The method of claim 1, wherein the step of determining includes at least comparing a signature of the second plan operator with stored signatures of a plurality of plan operators to determine if each of the plurality of plan operators is the second plan operator.

4. The method of claim 1, wherein the first plan operator and the second plan operator are identical.

5. The method of claim 1, where the first plan operator and the second plan operator are not identical.

6. The method of claim 1, where the first plan operator and the second plan operator are similar.

7. The method of claim 1, wherein the first plan operator and the second plan operator are identical, but the first results set and the second results set are different.

8. The method of claim 1, wherein the first execution plan includes a third plan operator, the method further comprises; outputting a third results set in response to the third plan operator, wherein the third results set is not stored.

9. The method of claim 1, wherein the step of determining includes at least determining when the first results set was computed.

10. The method of claim 1, wherein a difference exist between the first plan operator and the second plan operator, and the step of computing includes at least modifying the first results set based on the difference.

11. The method of claim 1, wherein receiving a second query from the user includes receiving the second query from a different user.

12. The method of claim 1, further comprising computing the subset of the first results set by applying a filter to the first results set that was stored, wherein the subset is generated based on a condition contained in the second query.

13. A machine-readable medium carrying one or more sequences of instructions, which when executed by one or more processors, causes the one or more processors to perform a method comprising the steps of:

receiving a first query at the database server from a user;
generating a first plan for executing the first query through the database server, wherein the plan includes a first plurality of plan operators that include at least a first plan operator that outputs a first results set;
generating a first signature for the first plan operator;
generating the first results set by executing the first plan operator;
storing the first results set in association with the first signature;
after storing the first results set in association with the first signature:
receiving a second query from the user;
generating a second plan for executing the second query through the database server, wherein the second execution plan includes a second plurality of plan operators that include at least a second plan operator;
determining, based on the first signature, that at least a subset of the first results set may be used as a second results set of said second operator, and computing a second results set for the second query based on the subset of the first results set that was stored.

14. The machine-readable medium of claim 13, wherein the signature is generated based on operations performed by the first plan operator.

15 . The machine-readable medium of claim 13, wherein the step of determining includes at least comparing a signature of the second plan operator with stored signatures of a plurality of plan operators to determine if each of the plurality of plan operators is the second plan operator.

16. The machine-readable medium of claim 13, wherein the first plan operator and the second plan operator are identical.

17. The machine-readable medium of claim 13, where the first plan operator and the second plan operator are not identical.

18. The machine readable medium of claim 13, where the first plan operator and the second plan operator are similar.

19. The machine-readable medium of claim 13, wherein the first plan operator and the second plan operator are identical, but the first results set and the second results set are different.

20. The machine-readable medium of claim 13, wherein the first execution plan includes a third plan operator, the method further comprises: outputting a third results set in response to the third plan operator, wherein the third results set is not stored.

21. The machine-readable medium of claim 13, wherein the step of determining includes at least determining when the first results set was computed.

22. The machine-readable medium of claim 13, wherein a difference exist between the first plan operator and the second plan operator, and the step of computing includes at least modifying the first results set based on the difference.

23. The machine-readable medium of claim 13, wherein receiving a second query from the user includes receiving the second query from a different user.

24. The machine-readable medium of claim 13, further comprising computing the subset of the first results set by applying a filter to the first results set that was stored, wherein the subset is generated based on a condition contained in the second query.

l. (Amended) A method for computing a query at a database server comprising:
receiving a first query at the database server from a user;
generating a first plan for executing the first query through the database server, wherein the plan includes a first plurality of plan operators that include at least a first plan operator that outputs a first results set;
generating a first signature for the first plan operator;
generating the first results set by executing the first plan operator;
storing the first results set in association with the first signature;

after storing the first results set in association with the first signature;
receiving a second query from the user;
generating a second plan for executing the second query through the database server, wherein the second execution plan includes a second plurality of plan operators that include at least a second plan operator;
determining, based on the first signature, that at least a subset of the first results set may be used as a second results set of said second operator;
and computing a second results set for the second query based on the subset of the first results set that was stored.

(Canceled).

2. The method of claim 1, wherein the signature is generated based on operations performed by the first plan operator.

3. (Amended) The method of claim 1, wherein the step of determining includes at least comparing a signature of the second plan operator with stored signatures of a plurality of plan operators to determine if each of the plurality of plan operators is the second plan operator.

4. The method of claim 1, wherein the first plan operator and the second plan operator are identical.

5. The method of claim 1, where the first plan operator and the second plan operator are not identical.

6. The method of claim 1, where the first plan operator and the second plan operator are similar.

7. The method of claim 1, wherein the first plan operator and the second plan operator are identical, but the first results set and the second results set are different.

8. The method of claim 1, wherein the first execution plan includes a third plan operator, the method further comprises: outputting a third results set in response to the third plan operator, wherein the third results set is not stored.

9. The method of claim 1, wherein the step of determining includes at least determining when the first results set was computed.

10. The method of claim 1, wherein a difference exist between the first plan operator and the second plan operator, and the step of computing includes at least modifying the first results set based on the difference.

11. The method of claim 1, wherein receiving a second query from the user includes receiving the second query from a different user.

(Canceled) 12. The method of claim 1, further comprising computing the subset of the first results set by applying a filter to the first results set that was stored, wherein the subset is generated based on a condition contained in the second query.

13. A machine-readable medium carrying one or more sequences of instructions, which when executed by one or more processors, causes the one or more processors to perform a method comprising the steps of:
receiving a first query at the database server from a user;
generating a first plan for executing the first query through the database server, wherein the plan includes a first plurality of plan operators that include at least a first plan operator that outputs a first results set;
generating a first signature for the first plan operator:
generating the first results set by executing the first plan operator:
storing the first results set in association with the first signature;
after storing the first results set in association with the first signature:
receiving a second query from the user;
generating a second plan for executing the second query through the database server, wherein the second execution plan includes a second plurality of plan operators that include at least a second plan operator;
determining, based on the first signature, that at least a subset of the first results set may be used as a second results set of said second operator;

and computing a second results set for the second query based on the subset of the first results set that was stored.

(Canceled) 14. (Amended) The machine-readable medium of claim 13, wherein the signature is generated based on operations performed by the first plan operator.

15. The machine-readable medium of claim 13, wherein the step of determining includes at least comparing a signature of the second plan operator with stored signatures of a plurality of plan operators to determine if each of the plurality of plan operators is the second plan operator.

16. The machine-readable medium of claim 13, wherein the first plan operator and the second plan operator are identical.

17. The machine-readable medium of claim 13, where the first plan operator and the second plan operator are not identical.

18. The machine-readable medium of claim 13, where the first plan operator and the second plan operator are similar.

19. The machine-readable medium of claim 13, wherein the first plan operator and the second plan operator are identical, but the first results set and the second results set are different.

20. The machine-readable medium of claim 13, wherein the first execution plan includes a third plan operator, the method further comprises: outputting a third results set in response to the third plan operator, wherein the third results set is not stored.

21. The machine-readable medium of claim 13, wherein the step of determining includes at least determining when the first results set was computed.

22. The machine-readable medium of claim 13, wherein a difference exist between the first plan operator and the second plan operator, and the step of computing includes at least modifying the first results set based on the difference.

23. The machine-readable medium of claim 13, wherein receiving a second query from the user includes receiving the second query from a different user.

(Canceled) 24. (New) The machine-readable medium of claim 13, further comprising computing the subset of the first results set by applying a filter to the first results set that was stored, wherein the subset is generated based on a condition contained in the second query.
CA2562281A 2004-04-22 2005-04-20 Partial query caching Active CA2562281C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/830,510 2004-04-22
US10/830,510 US7676453B2 (en) 2004-04-22 2004-04-22 Partial query caching
PCT/US2005/013648 WO2005106717A1 (en) 2004-04-22 2005-04-20 Partial query caching

Publications (2)

Publication Number Publication Date
CA2562281A1 true CA2562281A1 (en) 2005-11-10
CA2562281C CA2562281C (en) 2011-11-08

Family

ID=34966323

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2562281A Active CA2562281C (en) 2004-04-22 2005-04-20 Partial query caching

Country Status (9)

Country Link
US (1) US7676453B2 (en)
EP (1) EP1738290B1 (en)
JP (1) JP4856627B2 (en)
CN (1) CN100476817C (en)
AU (1) AU2005239366B2 (en)
CA (1) CA2562281C (en)
DE (1) DE602005008030D1 (en)
HK (1) HK1094470A1 (en)
WO (1) WO2005106717A1 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521725B1 (en) 2003-12-03 2013-08-27 Google Inc. Systems and methods for improved searching
US7765200B2 (en) * 2005-03-25 2010-07-27 International Business Machines Corporation SQL query problem determination tool
US8346791B1 (en) 2008-05-16 2013-01-01 Google Inc. Search augmentation
US20100241893A1 (en) 2009-03-18 2010-09-23 Eric Friedman Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment
US9760658B2 (en) * 2009-10-08 2017-09-12 Oracle International Corporation Memory-mapped objects
US8346792B1 (en) 2010-11-09 2013-01-01 Google Inc. Query generation using structural similarity between documents
US10031944B1 (en) * 2010-12-31 2018-07-24 EMC IP Holding Company LLC Work file change detection
US20120173516A1 (en) * 2010-12-31 2012-07-05 Emc Corporation Work file recycling
US9116955B2 (en) * 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US8965879B2 (en) 2011-06-03 2015-02-24 Microsoft Technology Licensing, Llc Unique join data caching method
JP5919825B2 (en) * 2012-01-05 2016-05-18 富士通株式会社 Data processing method, distributed processing system, and program
US9251209B2 (en) * 2012-03-15 2016-02-02 International Business Machines Corporation Autonomic caching for in memory data grid query processing
CN102880629B (en) * 2012-06-20 2015-06-03 杜小勇 Accelerating query method of probabilistic database
US9317554B2 (en) * 2012-09-26 2016-04-19 Microsoft Technology Licensing, Llc SQL generation for assert, update and delete relational trees
US10628417B2 (en) * 2013-12-01 2020-04-21 Paraccel Llc Physical planning of database queries using partial solutions
JP6319694B2 (en) * 2015-08-11 2018-05-09 日本電信電話株式会社 Data cache method, node device, and program
US10642814B2 (en) * 2015-10-14 2020-05-05 Paxata, Inc. Signature-based cache optimization for data preparation
US11288447B2 (en) * 2015-10-14 2022-03-29 Dr Holdco 2, Inc. Step editor for data preparation
US11169978B2 (en) 2015-10-14 2021-11-09 Dr Holdco 2, Inc. Distributed pipeline optimization for data preparation
US10642815B2 (en) * 2015-10-14 2020-05-05 Paxata, Inc. Step editor for data preparation
US10740316B2 (en) 2015-10-14 2020-08-11 Dr Holdco 2, Inc. Cache optimization for data preparation
US11074254B2 (en) * 2016-03-23 2021-07-27 International Business Machines Corporation Performance management using thresholds for queries of a service for a database as a service
CN107402926B (en) 2016-05-18 2021-02-23 华为技术有限公司 Query method and query device
JP6072334B1 (en) * 2016-06-09 2017-02-01 株式会社Cygames Information processing system and method, and program
US10769134B2 (en) 2016-10-28 2020-09-08 Microsoft Technology Licensing, Llc Resumable and online schema transformations
CN108038215A (en) * 2017-12-22 2018-05-15 上海达梦数据库有限公司 Data processing method and system
US20220245150A1 (en) 2019-07-31 2022-08-04 Sindice Limited T/A Siren Semantic caching of semi-join operators in shared-nothing and log-structured databases
CN111753028B (en) * 2020-07-02 2023-08-25 上海达梦数据库有限公司 Data transmission method, device, equipment and storage medium
WO2022079856A1 (en) * 2020-10-15 2022-04-21 日本電信電話株式会社 Data processing device, data processing method, and data processing program
US11567938B1 (en) * 2021-07-20 2023-01-31 Sap Se Intelligent query plan cache size management

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241305A (en) 1987-05-15 1993-08-31 Newspager Corporation Of America Paper multi-level group messaging with group parsing by message
GB8719572D0 (en) * 1987-08-19 1987-09-23 Krebs M S Sigscan text retrieval system
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5265221A (en) 1989-03-20 1993-11-23 Tandem Computers Access restriction facility method and apparatus
DE69032576T2 (en) * 1990-02-27 1999-04-15 Oracle Corp Dynamic optimization of a single relational access
US5748899A (en) 1990-09-07 1998-05-05 Lowry Computer Products, Inc. Method and system for collecting and processing bar code data
JP3258063B2 (en) * 1992-02-07 2002-02-18 新日鉄ソリューションズ株式会社 Database search system and method
US5276901A (en) 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
US5428778A (en) 1992-02-13 1995-06-27 Office Express Pty. Ltd. Selective dissemination of information
CA2079351A1 (en) 1992-02-19 1993-08-20 Bruce A. Tate Scaled depiction of information from a database
US5412804A (en) * 1992-04-30 1995-05-02 Oracle Corporation Extending the semantics of the outer join operator for un-nesting queries to a data base
GB2297180B (en) * 1993-09-27 1998-05-20 Oracle Corp Method and apparatus for parallel processing in a database system
US5581704A (en) * 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
GB9402935D0 (en) 1994-02-16 1994-04-06 British Telecomm A method for controlling access to a database
CA2138302C (en) 1994-12-15 1999-05-25 Michael S. Fortinsky Provision of secure access to external resources from a distributed computing environment
US5751949A (en) 1995-05-23 1998-05-12 Mci Corporation Data security system and method
JP3738787B2 (en) 1995-10-19 2006-01-25 富士ゼロックス株式会社 Resource management apparatus and resource management method
US5999946A (en) * 1996-04-10 1999-12-07 Harris Corporation Databases in telecommunications
US5903898A (en) * 1996-06-04 1999-05-11 Oracle Corporation Method and apparatus for user selectable logging
US5761654A (en) * 1996-06-05 1998-06-02 Oracle Corporation 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
US5802523A (en) * 1996-06-21 1998-09-01 Oracle Corporation Method and apparatus for reducing the memory required to store bind variable descriptors in a database
US5870743A (en) * 1996-06-24 1999-02-09 Oracle Corporation Method and apparatus for parallelizing operations that create a table
JP3747525B2 (en) 1996-08-28 2006-02-22 株式会社日立製作所 Parallel database system search method
US6212578B1 (en) * 1996-09-09 2001-04-03 Oracle Corporation Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls
US5819256A (en) * 1996-11-20 1998-10-06 Oracle Corporation Method and apparatus for processing count statements in a database system
US6081800A (en) * 1997-02-28 2000-06-27 Oracle Corporation Creating bitmaps from multi-level identifiers
US6141656A (en) * 1997-02-28 2000-10-31 Oracle Corporation Query processing using compressed bitmaps
US5899988A (en) * 1997-02-28 1999-05-04 Oracle Corporation Bitmapped indexing with high granularity locking
US5822748A (en) * 1997-02-28 1998-10-13 Oracle Corporation Group by and distinct sort elimination using cost-based optimization
US5884307A (en) * 1997-02-28 1999-03-16 Oracle Corporation Updating bitmapped indexes
US5963935A (en) * 1997-02-28 1999-10-05 Oracle Corporation Combining bitmaps within a memory limit
US5924088A (en) * 1997-02-28 1999-07-13 Oracle Corporation Index selection for an index access path
US5903888A (en) * 1997-02-28 1999-05-11 Oracle Corporation Method and apparatus for using incompatible types of indexes to process a single query
US6067540A (en) * 1997-02-28 2000-05-23 Oracle Corporation Bitmap segmentation
US5907297A (en) * 1997-02-28 1999-05-25 Oracle Corporation Bitmap index compression
US5848408A (en) * 1997-02-28 1998-12-08 Oracle Corporation Method for executing star queries
DE69829593T2 (en) * 1997-04-25 2005-09-01 Matsushita Electric Industrial Co., Ltd., Kadoma METHOD OF A TEST SEQUENCE GENERATION
US5963932A (en) * 1997-04-29 1999-10-05 Oracle Corporation Method and apparatus for transforming queries
US5842220A (en) * 1997-05-02 1998-11-24 Oracle Corporation Methods and apparatus for exposing members of an object class through class signature interfaces
US5875445A (en) * 1997-05-29 1999-02-23 Oracle Corporation Performance-related estimation using pseudo-ranked trees
US5956704A (en) * 1997-06-05 1999-09-21 Oracle Corporation Method and apparatus for parallelizing operations that insert data into an existing data container
US5937409A (en) * 1997-07-25 1999-08-10 Oracle Corporation Integrating relational databases in an object oriented environment
US6691118B1 (en) * 1997-10-31 2004-02-10 Oracle International Corporation Context management system for modular software architecture
US6026391A (en) * 1997-10-31 2000-02-15 Oracle Corporation Systems and methods for estimating query response times in a computer system
US6275830B1 (en) * 1998-03-18 2001-08-14 Oracle Corporation Compile time variable size paging of constant pools
US6167517A (en) * 1998-04-09 2000-12-26 Oracle Corporation Trusted biometric client authentication
US6341281B1 (en) * 1998-04-14 2002-01-22 Sybase, Inc. Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree
US6182277B1 (en) * 1998-04-15 2001-01-30 Oracle Corporation Methods and apparatus for declarative programming techniques in an object oriented environment
US6134559A (en) * 1998-04-27 2000-10-17 Oracle Corporation Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system
EP0961210A1 (en) * 1998-05-29 1999-12-01 Xerox Corporation Signature file based semantic caching of queries
US6163858A (en) * 1998-06-08 2000-12-19 Oracle Corporation Diagnostic methodology for debugging integrated software
US6138120A (en) * 1998-06-19 2000-10-24 Oracle Corporation System for sharing server sessions across multiple clients
US6510504B2 (en) * 1998-06-29 2003-01-21 Oracle Corporation Methods and apparatus for memory allocation for object instances in an object-oriented software environment
US6219666B1 (en) * 1998-07-13 2001-04-17 Oracle Corporation Autonomous transactions in a database system
US7228300B2 (en) 1998-10-05 2007-06-05 Oracle International Corporation Caching the results of security policy functions
US6813617B2 (en) 1998-10-05 2004-11-02 Oracle International Corporation Dynamic generation of optimizer hints
US6487552B1 (en) * 1998-10-05 2002-11-26 Oracle Corporation Database fine-grained access control
US6578037B1 (en) 1998-10-05 2003-06-10 Oracle Corporation Partitioned access control to a database
US6304974B1 (en) * 1998-11-06 2001-10-16 Oracle Corporation Method and apparatus for managing trusted certificates
US6496819B1 (en) 1998-12-28 2002-12-17 Oracle Corporation Rewriting a query in terms of a summary based on functional dependencies and join backs, and based on join derivability
US6477525B1 (en) * 1998-12-28 2002-11-05 Oracle Corporation Rewriting a query in terms of a summary based on one-to-one and one-to-many losslessness of joins
US6341340B1 (en) * 1998-12-28 2002-01-22 Oracle Corporation Transitioning ownership of data items between ownership groups
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
US5991754A (en) * 1998-12-28 1999-11-23 Oracle Corporation Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join
US6401083B1 (en) * 1999-03-18 2002-06-04 Oracle Corporation Method and mechanism for associating properties with objects and instances
US6351742B1 (en) * 1999-03-18 2002-02-26 Oracle Corporation Method and mechanism for database statement optimization
US6529885B1 (en) * 1999-03-18 2003-03-04 Oracle Corporation Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts
US6370522B1 (en) * 1999-03-18 2002-04-09 Oracle Corporation Method and mechanism for extending native optimization in a database system
US6487641B1 (en) * 1999-04-19 2002-11-26 Oracle Corporation Dynamic caches with miss tables
US6314419B1 (en) * 1999-06-04 2001-11-06 Oracle Corporation Methods and apparatus for generating query feedback based on co-occurrence patterns
US6418430B1 (en) * 1999-06-10 2002-07-09 Oracle International Corporation System for efficient content-based retrieval of images
US6466931B1 (en) * 1999-07-30 2002-10-15 International Business Machines Corporation Method and system for transparently caching and reusing query execution plans efficiently
US6601071B1 (en) * 1999-08-04 2003-07-29 Oracle International Corp. Method and system for business to business data interchange using XML
US6549916B1 (en) * 1999-08-05 2003-04-15 Oracle Corporation Event notification system tied to a file system
US6665684B2 (en) 1999-09-27 2003-12-16 Oracle International Corporation Partition pruning with composite partitioning
US6609131B1 (en) * 1999-09-27 2003-08-19 Oracle International Corporation Parallel partition-wise joins
US7093137B1 (en) 1999-09-30 2006-08-15 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
US6493710B1 (en) * 1999-10-04 2002-12-10 Oracle Corporation Method and apparatus for reducing costs associated with manipulating data
JP4552242B2 (en) * 1999-10-06 2010-09-29 株式会社日立製作所 Virtual table interface and query processing system and method using the interface
US6484179B1 (en) * 1999-10-25 2002-11-19 Oracle Corporation Storing multidimensional data in a relational database management system
US6546382B1 (en) * 1999-11-03 2003-04-08 Oracle Corporation Finding the TOP N values through the execution of a query
US6421666B1 (en) * 1999-11-08 2002-07-16 Oracle Corporation Mechanism for sharing ancillary data between a family of related functions
US6684203B1 (en) * 1999-11-08 2004-01-27 Oracle International Corporation Using global temporary tables to transform queries
US6430550B1 (en) * 1999-12-03 2002-08-06 Oracle Corporation Parallel distinct aggregates
US6546394B1 (en) * 1999-12-28 2003-04-08 Oracle International Corporation Database system having logical row identifiers
US6658405B1 (en) 2000-01-06 2003-12-02 Oracle International Corporation Indexing key ranges
US6671715B1 (en) 2000-01-21 2003-12-30 Microstrategy, Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via high throughput content delivery device
US6457020B1 (en) * 2000-03-20 2002-09-24 International Business Machines Corporation Query optimization using a multi-layered object cache
US20020001307A1 (en) * 2000-05-20 2002-01-03 Equipe Communications Corporation VPI/VCI availability index
US6332198B1 (en) * 2000-05-20 2001-12-18 Equipe Communications Corporation Network device for supporting multiple redundancy schemes
US6986060B1 (en) 2000-05-23 2006-01-10 Oracle International Corp. Method and apparatus for sharing a security context between different sessions on a database server
EP1323066B1 (en) * 2000-07-13 2007-09-12 Oracle International Corporation Performing spreadsheet-like calculations in a database system
US6684207B1 (en) * 2000-08-01 2004-01-27 Oracle International Corp. System and method for online analytical processing
US6622138B1 (en) * 2000-09-06 2003-09-16 Oracle International Corporation Method and apparatus for optimizing computation of OLAP ranking functions
US6581055B1 (en) * 2000-09-11 2003-06-17 Oracle International Corporation Query optimization with switch predicates
US20020095405A1 (en) 2001-01-18 2002-07-18 Hitachi America, Ltd. View definition with mask for cell-level data access control
US7162467B2 (en) * 2001-02-22 2007-01-09 Greenplum, Inc. Systems and methods for managing distributed database resources
US6691099B1 (en) * 2001-05-31 2004-02-10 Oracle International Corporation Method and system for histogram determination in a database
US6732085B1 (en) * 2001-05-31 2004-05-04 Oracle International Corporation Method and system for sample size determination for database optimizers
US6741997B1 (en) * 2001-06-14 2004-05-25 Oracle International Corporation Instantiating objects in distributed database systems
GB2378534B (en) * 2001-08-03 2003-08-20 Oracle Corp SQL execution analysis
US6615206B1 (en) 2001-09-28 2003-09-02 Oracle International Corporation Techniques for eliminating database table joins based on a join index
JP2003108561A (en) * 2001-09-28 2003-04-11 Kawasaki Steel Systems R & D Corp Database retrieving system
GB2398146B (en) 2001-11-01 2005-07-13 Sun Microsystems Inc Directory request caching in distributed computer systems
JP4162184B2 (en) * 2001-11-14 2008-10-08 株式会社日立製作所 Storage device having means for acquiring execution information of database management system
US6738762B1 (en) * 2001-11-26 2004-05-18 At&T Corp. Multidimensional substring selectivity estimation using set hashing of cross-counts
US7152048B1 (en) * 2002-02-07 2006-12-19 Oracle International Corporation Memphis: multiple electronic money payment highlevel integrated security
US7251657B2 (en) 2002-05-10 2007-07-31 Oracle International Corporation Method and system for implementing dynamic cache of database cursors
US7103608B1 (en) * 2002-05-10 2006-09-05 Oracle International Corporation Method and mechanism for storing and accessing data
US7035846B2 (en) * 2002-09-23 2006-04-25 International Business Machines Corporation Methods, computer programs and apparatus for caching directory queries
US20040064441A1 (en) * 2002-09-27 2004-04-01 Tow Daniel S. Systems and methods for providing structured query language optimization
US7320010B2 (en) * 2002-11-18 2008-01-15 Innopath Software, Inc. Controlling updates of electronic files
US20040139043A1 (en) 2003-01-13 2004-07-15 Oracle International Corporation Attribute relevant access control policies
US7194451B2 (en) * 2004-02-26 2007-03-20 Microsoft Corporation Database monitoring system
US7158966B2 (en) * 2004-03-09 2007-01-02 Microsoft Corporation User intent discovery

Also Published As

Publication number Publication date
AU2005239366B2 (en) 2010-07-01
JP4856627B2 (en) 2012-01-18
JP2007534087A (en) 2007-11-22
CA2562281C (en) 2011-11-08
US20050240570A1 (en) 2005-10-27
WO2005106717A1 (en) 2005-11-10
CN1947118A (en) 2007-04-11
AU2005239366A1 (en) 2005-11-10
DE602005008030D1 (en) 2008-08-21
CN100476817C (en) 2009-04-08
EP1738290A1 (en) 2007-01-03
EP1738290B1 (en) 2008-07-09
US7676453B2 (en) 2010-03-09
HK1094470A1 (en) 2007-03-30

Similar Documents

Publication Publication Date Title
CA2562281A1 (en) Partial query caching
US8788489B2 (en) Evaluation of web pages
US9116899B2 (en) Managing changes to one or more files via linked mapping records
JP2013517574A5 (en)
RU2007141644A (en) FORMING A REQUEST USING AUTO LISTS
JP2007536643A5 (en)
WO2007014274A3 (en) Caching and modifying portions of a multi-dimensional database on a user device
WO2006052441A3 (en) System for and method of litigation management and support
JP2006107502A5 (en)
RU2006102135A (en) STORAGE APPLICATION INTERFACE FOR GENERAL DATA PLATFORM
JP2007528081A5 (en)
CN103092996B (en) Document data acquisition device and bills data acquisition methods
JP2004094425A5 (en)
CA2484007A1 (en) Providing a useable version of a data item
CN108776678B (en) Index creation method and device based on mobile terminal NoSQL database
CN104036003B (en) search result integration method and device
CN105100050A (en) User permission management method and system
US20130238637A1 (en) Efficient query processing on ordered views
CN110472381B (en) Root permission hiding method and system based on android system and storage medium
JP2012121562A5 (en)
US9613090B2 (en) Simplified query generation from prior query results
US20160364447A1 (en) Query plan determination
CN105786990A (en) Database data storing and quick querying method and device
JP2024502131A (en) stand-in table
US20140136831A1 (en) Portable Lightweight LDAP Directory Server and Database

Legal Events

Date Code Title Description
EEER Examination request