US6026391A - Systems and methods for estimating query response times in a computer system - Google Patents
Systems and methods for estimating query response times in a computer system Download PDFInfo
- Publication number
- US6026391A US6026391A US08/962,538 US96253897A US6026391A US 6026391 A US6026391 A US 6026391A US 96253897 A US96253897 A US 96253897A US 6026391 A US6026391 A US 6026391A
- Authority
- US
- United States
- Prior art keywords
- query
- queries
- time
- estimated
- present
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Definitions
- the present invention pertains generally to computer systems and, more particularly, to methods and apparatus for estimating response times for database queries in computer systems.
- data is typically stored in the form of tables, with each column of a given table representing a particular data attribute and each row representing a specific record.
- a user of the computer system accesses data from one or more tables by submitting a query to a database management system ("DBMS") associated with the computer system.
- DBMS database management system
- the DBMS responds to the query by constructing a particular view of the data stored in the database and returning a responsive data set to the user.
- databases can be very large and, depending upon various factors, such as the current operational load on the computer system and the complexity of a particular query, the elapsed time required to execute the query can vary widely--e.g., from less than a second to several hours, or even days.
- This uncertain system response time may deter users from submitting certain queries, since they will not know whether they will get an immediate answer, or will have to wait for an extended period of time.
- the situation is especially problematic for computer system administrators who control the amount of system resource time that is expended by users submitting ad-hoc query requests. For example, it is not uncommon for multiple users to submit overlapping queries to a centralized computer system from separate respective user stations, e.g., personal computers or network terminals, potentially degrading overall system performance and efficiency.
- the present invention provides methods and apparatus for providing an estimate of the elapsed time required for a computer system to respond to database queries.
- a query performance prediction (“QPP") module is incorporated as part of an application residing on respective user stations connected to the computer system.
- the QPP module correlates estimated system cost information provided for each new query from the computer system DBMS with statistics compiled from previous queries in order to estimate the system response time to the present query.
- a cost optimizer located within the computer system DBMS determines a most efficient execution plan for accessing the requested data, along with an estimate of the corresponding (relative) system "cost" for executing the query.
- This estimated cost is returned to the QPP module at the respective user station, which employs a "nearest neighbor” algorithm to determine an estimated central processing unit (“CPU") time required for executing the present query by extrapolating CPU times recorded for past queries having the same or similar estimated costs for accessing the same, or similar, tables and items in the database.
- the estimated CPU time for the present query is then multiplied by a current ratio of total elapsed times to CPU times to produce an estimated total elapsed time for the system to respond to the present query.
- each user station records pertinent information for each new user query, which is collected and maintained by the host computer 22 in a query history.
- the query history preferably includes for each query an identification of the particular table(s) and columns that were accessed, whether the query was satisfied from a pre-computed summary, the estimated cost for the query, the actual CPU time used in running the query and the total elapsed time required to complete the query and respond to the user.
- the recorded query history information is loaded by the computer system into the QPP modules of each user station; e.g., whenever a user "logs on" to the computer system, or after specified time intervals.
- a readily apparent advantage gained by providing an estimated query response time to a user prior to their making a decision on whether to proceed with a query is that those queries that will not be completed within an allowable or acceptable time frame are not even started, regardless of whether the decision to proceed is based on a preset threshold limit, or user discretion. For example, if a query is estimated to take an unacceptable length of time for execution by the system, a user may simply cancel the query and move on to another task, such as submitting an alternate query.
- an advance estimation of system response times to database queries can result in improved system efficiency, system management and user satisfaction.
- FIG. 1A is a simplified block diagram of an exemplary computer system operating in conjunction with a database
- FIG. 1B is a simplified block diagram of an exemplary user station and an exemplary host computer of FIG. 1A;
- FIG. 2 is a high-level flow chart depicting a preferred process for obtaining database query response time estimates in the computer system of FIG. 1A, including use of a query performance prediction ("QPP") module;
- QPP query performance prediction
- FIG. 3 is a simplified block diagram illustrating a statistical database of query records compiled by a database management system in the computer system of FIG. 1A;
- FIG. 4 is a flow chart depicting a preferred process for estimating query response times by the QPP module of FIG. 2.
- a computer system generally may take many forms, from a configuration including a variety of processing units, as further described herein, networked together to function as a integral entity, to a single computer, e.g., a personal computer, operational in a stand-alone environment.
- the present invention can be embodied in any of these computer system configurations.
- a computer system 20 includes a host computer 22 connected to a plurality of individual user stations 24.
- the user stations 24 each comprise suitable data terminals, such as, e.g., personal computers, portable laptop computers, or personal data assistants ("PDAs"), which can store and independently run one or more applications (i.e., programs).
- PDAs personal data assistants
- some of the user stations 24 are connected to the host computer 22 via a local area network (“LAN”) 26.
- LAN local area network
- Other user stations 24 are remotely connected to the host computer 22 via a public telephone switched network (“PSTN”) and/or a wireless network 30.
- PSTN public telephone switched network
- the host computer 22 operates in conjunction with a data storage system 31, wherein the storage system 31 contains a database 32 that is readily accessible by the host computer 22.
- the database 32 is a relational database.
- the database 32 may be resident on the host computer, stored, e.g., in the host computer's ROM, PROM, EPROM, or any other memory chip, and/or its hard disk. In yet alternative embodiments, the database 32 may be read by the host computer 22 from one or more floppy disks, flexible disks, magnetic tapes, any other magnetic medium, CD-ROMs, any other optical medium, punchcards, papertape, or any other physical medium with patterns of holes, or any other medium from which a computer can read.
- the host computer 22 includes a database management system ("DBMS") 34, which is one or more programs and/or hardware circuitry, configured to access data stored in the database 32.
- DBMS database management system
- each of the user stations 24 includes its own database applications layer 36, which is one or more programs and/or hardware circuitry configured to interact with the DBMS 34.
- the respective database applications layer 36 of a user station 24 allows a user of the computer system 20 to access data from the database 32 by forming and submitting queries on the user station 24.
- a user-submitted query is converted into an SQL statement by the database applications layer 36 resident in the respective user station 24.
- SQL is a standard language used in relational database management systems.
- An SQL query is the respective user query formatted in SQL.
- the SQL query is issued to the DBMS 34, which executes the SQL query and returns a responsive data result set to the user.
- SQL is a presently preferred language
- other languages may alternatively be used for executable queries.
- a user query may be submitted to a respective database applications layer 36 in an appropriate language format for execution by the DBMS 34.
- an equivalent of the database applications layer 36 may reside on a server system (e.g., a SUN® SPARCstationTM) with one or more user stations 24 (i.e., "thin clients") either locally, or remotely, connected to the server system.
- the thin clients support an appropriate user interface, which is generally one or more programs that assist a user to access the database 32.
- the user stations 24 are "dumb" terminals.
- an equivalent of the database applications layer 36 may reside on the host computer 22, along with the DBMS 34, or, alternatively, can reside on a separate, second computer (not shown) which interfaces with the host computer 22.
- each user station 24 and the host computer 22 (each referred to generally as a processing unit) embodies a general architecture 5.
- a processing unit includes a bus 6 or other communication mechanism for communicating instructions, messages and data (collectively, information), and one or more processors 7 coupled with the bus 6 for processing information.
- a processing unit also includes a main memory 8, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 6 for storing dynamic data and instructions to be executed by the processor(s) 7.
- the main memory 8 also may be used for storing temporary data (i.e., variables) or other intermediate information during execution of instructions by the processor(s) 7.
- a processing unit may further include a read only memory (ROM) 9 or other static storage device coupled to the bus 6 for storing static data and instructions for the processor(s) 7.
- ROM read only memory
- a storage device 10, such as a magnetic disk or optical disk, may also be provided and coupled to the bus 6 for storing data and instructions for the processor(s) 7.
- a processing unit may be coupled via the bus 6 to a display 11, such as a cathode ray tube (CRT), for displaying information to a user.
- a display 11 such as a cathode ray tube (CRT)
- An input device 12 is coupled to the bus 6 for communicating information and command selections to the processor(s) 7.
- Another type of user input device may include a cursor control 13, such as a mouse, a trackball, a fingerpad, or cursor direction keys for communicating direction information and command selections to the processor(s) 7 and for controlling cursor movement on the display 11.
- the individual processing units perform specific operations by their respective processor(s) 7 executing one or more sequences of one or more instructions contained in the main memory 8.
- Such instructions may be read into the main memory 8 from another computer-readable medium, such as the ROM 9 or the storage device 10.
- Execution of the sequences of instructions contained in the main memory 8 causes the processor(s) 7 to perform the process steps described herein.
- hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention.
- embodiments of the invention are not limited to any specific combination of hardware circuitry and/or software.
- Non-volatile media i.e., media that can retain information in the absence of power
- Volatile media i.e., media that can not retain information in the absence of power
- Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 6.
- Transmission media can also take the form of carrier waves; i.e., electromagnetic waves that can be modulated, as in frequency, amplitude or phase, to transmit information signals. Additionally, transmission media can take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
- Computer-readable media include, for example: a floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, RAM, ROM, PROM (i.e., programmable read only memory), EPROM (i.e., erasable programmable read only memory), including FLASH-EPROM, any other memory chip or cartridge, carrier waves, or any other medium from which a processor 7 can retrieve information.
- a floppy disk flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, RAM, ROM, PROM (i.e., programmable read only memory), EPROM (i.e., erasable programmable read only memory), including FLASH-EPROM, any other memory chip or cartridge, carrier waves, or any other medium from which a processor 7 can retrieve information.
- PROM i.e.,
- the instructions may initially be provided on a magnetic disk of a remote computer (not shown).
- the remote computer may load the instructions into its dynamic memory and then transit them over a telephone line, using a modem.
- a modem local to the processing unit may receive the instructions on a telephone line and use an infrared transmitter to convert the instruction signals transmitted over the telephone line to corresponding infrared signals.
- An infrared detector (not shown) coupled to the bus 6 may receive the infrared signals and place the instructions therein on the bus 6.
- the bus 6 may carry the instructions to the main memory 8, from which the processor(s) 7 thereafter retrieves and executes the instructions.
- the instructions received by the main memory 8 may optionally be stored on the storage device 10, either before or after their execution by the processor(s) 7.
- Each processing unit may also include a communication interface 14 coupled to the bus 6.
- the communication interface 14 provides two-way communication between the respective user stations 24 and the host computer 22.
- the communication interface 14 of a respective processing unit transmits and receives electrical, electromagnetic or optical signals that include data streams representing various types of information, including instructions, messages and data.
- a communication link 15 links a respective user station 24 and a host computer 22.
- the communication link 15 may be a LAN 26, in which case the communication interface 14 may be a LAN card.
- the communication link 15 may be a PSTN 28, in which case the communication interface 14 may be an integrated services digital network (ISDN) card or a modem.
- ISDN integrated services digital network
- the communication link 15 may be a wireless network 30.
- a processing unit may transmit and receive messages, data, and instructions, including program, i.e., application, code, through its respective communication link 15 and communication interface 14. Received program code may be executed by the respective processor(s) 7 as it is received, and/or stored in the storage device 10, or other associated non-volatile media, for later execution. In this manner, a processing unit may receive messages, data and/or program code in the form of a carrier wave.
- program i.e., application, code
- an ad hoc query 40 is converted into a SQL statement by the database applications layer 36 residing in the respective user station from which the query 40 is input by a user.
- the SQL statement is transmitted to a cost optimizer 42 module associated with the DBMS 34 at the host computer 22.
- the cost optimizer 42 considers available access paths to the requested data from the database 32, and derives a plan for executing the query that is most efficient based on statistics maintained in a data dictionary associated with the respective table(s), along with their associated clusters and indexes, accessed by the SQL statement representing the query 40.
- the cost optimizer 42 generates a set of potential execution plans (not shown) for executing the respective query SQL statement (40) based on the available access paths, and estimates the relative "cost" of each potential execution plan based on the data distribution and storage characteristics for the respective tables, clusters and indexes to be used.
- Execution plans with greater relative costs generally take more time to execute than those with smaller relative costs, although the relationship between cost and execution time is by no means linear, and depends on many other factors.
- An exemplary preferred cost optimizer is provided in the Oracle7.3TM version of the Oracle® database product produced and distributed by Oracle Corporation, Redwood City, Calif., USA.
- the cost optimizer 42 compares the estimated costs of the potential execution plans and returns the smallest estimated cost 44, along with a result set 45 representing the selected execution plan for the input query 40, to a query performance prediction (“QPP") module 46 residing within the database applications layer 36 of the respective user station 24.
- the QPP module 46 compares the estimated cost 44 and result set 45 for the present query 40 to the recorded estimated costs and result sets of past queries, searching out those past queries having the same or similar estimated costs for accessing the same, or similar, tables and items in the database located in a query statistics cache 48 associated with the database applications layer 36.
- each user station 24 records pertinent information for each new user query, which are collected and maintained by the host computer 22 in a query history 50.
- the query history 50 includes: the query ID 58, the date 60 and time 62 at which the query was executed; the user ID 64 of the user station 24 submitting the query; an identification of the result set 66 for the query--i.e., the particular table(s) and column(s) that were accessed; whether the query was satisfied from a pre-computed summary table 68; the estimated cost 70 for the query; the actual CPU time 72 used in running the query; and the estimated time 73 and actual total elapsed time 74 required for the system 20 to respond to the query.
- the recorded query history 50 is preferably loaded into the query statistics cache 48 of the respective QPP modules of the user stations 24 whenever a user "logs on” to the computer system, or after a specified time interval since a last update.
- the query history 50 is preferably kept current, so that ongoing changes in the computer system 20 or database 32 do not significantly skew the statistical correlation of past query results with future query response time estimations.
- the QPP module 46 compares 80 the cost estimate 44 and result set 45 for the present query 40 to the recorded estimated costs and result sets of past queries stored in the query statistics cache 48. If an exact match is found between the present query 40 and a recorded past query 58 stored in the cache 48 (i.e., wherein both queries have the same estimated costs for the same result sets), the QPP module 46 selects the recorded actual CPU time 72 of the matching past query 58 as an estimated CPU time 82 for the present query 40.
- a nearest neighbor algorithm 83 is employed to extrapolate an estimated CPU time 84 based on a weighted average of CPU times for the closest matching stored queries--i.e., from the "nearest neighbors" of the present query 40 based on the respective recorded estimated costs and result sets of the past queries.
- the estimated response time can be approximated to a selected (e.g., minimum) value.
- a presently preferred embodiment of the nearest neighbor algorithm employed by the QPP module 46 is disclosed in the form of a computer program listing attached below.
- the estimated CPU time is multiplied 85 by a current ratio 52 of total elapsed time-to-CPU time for the computer system 20 to produce an estimated total elapsed query response time 54.
- the ratio 52 of total elapsed time-to-CPU time is preferably calculated by the DBMS 34 based on all user database queries made in the system 20, regardless of the particular tables and items accessed, and is updated to include only the most recent queries in order to reflect current system operating conditions.
- the estimated total elapsed query response time 54 is then returned to the user so that a decision (whether automatic or manual) can be made as to whether to continue with the query 40.
- the estimated total response time 54 is also stored in the query history 50 (i.e., item 73), in order to later be compared to the actual elapsed response time (item 74) and thereby provide feedback information regarding the accuracy of the response time estimation process.
- response time estimation process includes statistical evidence of estimated times versus actual response times, whereby each response time estimate can be statistically qualified by a calculated degree of certainty (i.e., by a "plus or minus x%") based on a comparison of past results.
- time and date statistics of the past queries may also be used in order to factor in differences in elapsed system time between periods of relatively heavy and relatively light system usage.
- a multiplying factor for individual users or groups of users may be used in the response time estimation process in order to take into account differences caused by transmission time variances due to some users being located more remotely from the computer system, or being connected by a slower transmission medium, than other users.
- the QPP module could be adapted to reside and operate in the host computer, along with (or as part of) the DBMS.
- An advantage of this alternate configuration is that user queries may be input from network terminals having little (or no) independent storage or processing capabilities.
- the QPP module could be adapted to reside and operate in an intermediary gateway server system that connects multiple user stations to one or more separate host computer systems. With this later configuration, query response time estimates can advantageously be made for queries involving multiple different databases and/or combinations thereof.
- a preferred computer program for estimating the time required for a computer system to respond to a database query as deployed in a presently preferred applications program in accordance with the teachings of the present invention is as follows:
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
______________________________________ DCENumber DCEQuerypredictionStats:: EstimateElapsedTime (const DCENumber& cost, const DCEString& objectUseKey) { OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Estimating time for cost: " << cost << endl << OLDIAGEND; // If user preferences have turned off stats then return zero if ( mPerformQpp == false ) { OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" <<endl << " User prefs turned off QPP - returning estimated time of 0" << endl << OLDIAGEND; return 0; } // If cost is zero or null then return zero if ( cost.is null() || cost == 0 ) { OLDIAGSTRT(OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " QPP cost is zero or null - returning estimated time of 0" << endl << OLDIAGEND; return 0; } // If there are no stats then return an estimated time of 1 second. if (mpStatSet->size() <= 1) { OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " No stats - returning estimated time of 1" << endl << OLDIAGEND; return DCENumber(1); } // If an object use key has been specified then we may want to // look for all stats for that key value. A load is not // attempted if the user prefs have turned off this feature or if // the key has already been loaded if ( !objectUseKey.IsEmpty() && mLoadStatsByObjectUseKey && mLoadedObjectUseKeys.find(objectUseKey) == mLoadedObjectUseKeys.end() ) { Loadstatistics(objectUseKey); // record that we've loaded this object use key so we don't // attempt to load it again bool noClash = (mLoadedObjectUseKeys.insert(objectUseKey)).second; OL.sub.-- ASSERT( noClash == true ); } // Decide whether to use the whole set of stats or a subset based // upon the object use key. DCEQueryStatSet* pCurrentStatSet; DCEQueryStatSet statsSubset; if ( mpStatSet->ContainsObjectUseKey(objectUseKey) ) { // we have some stats specific to the set of objects we are // trying to query - let's extract those as a subset and use // them mpStatSet->ExtractStatsByObjs(objectUseKey, statsSubset); pCurrentStatSet = &statsSubset; } else { // no stats exist for this set of objects - use the whole set // of existing stats for estimating the query time pCurrentStatset = mpStatSet; } // Get references to the cost and date indexes we need to use const DCEStatisticsPByCost& statsByCost = pCurrentStatSet->GetStatsByCost (); const DCEStatisticsPByDate& statsByDate = pCurrentStatSet->GetStatsByDate(); // If we are using cpu time then find out the cpu/elapsed time // ratio, otherwise assume a ratio of 1 DCENumber weightedTimeRatio = 1; if ( mUseCpuTime ) { // Estimate the cpu/elapsed time ratio by performing a // weighted average on the 10 newest stats (ignoring those // with zero or null cpu times) OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Estimating cpu/elapsed time ratio..." << endl << OLDIAGEND; DCENumber runningTotal = 0; DCENumber ratio; DCENumber divider = (int)0; # ifdef .sub.-- DEBUG { DCEStatisticsPByDateCItr lastElement = statsByDate.end(); OL.sub.-- ASSERT( statsByDate.empty() || (* (statsByDate.begin()))->datestamp >= (* (--lastElement)) ->dateStamp ); } # endif DCEStatisticsPByDatecItr dateItr = statsByDate.begin(); for (int i = 0; i < 10 && dateItr != statsByDate.end(); dateItr++) { DCENumber actCpu = (*dateItr)->actualCpuTime; DCENumber actElapsed = (*dateItr)->actualElapsedTime; // ignore stats with null or zero cpu times and zero elapsed // times if ( actCpu.is.sub.-- null() || actCpu == 0 || actElapsed == 0 ) continue; ratio = (OLNumber) ( actCpu ) / (OLNumber) ( actElapsed ); OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 2) << " Using stat, actualCPU:" << actCpu << ", actualElapsed: " << actElapsed << ", ratio: " << ratio << endl << OLDIAGEND; runningTotal += ratio * (10 - i); divider += (10 - i); i++; } if ( divider == 0 || runningTotal == 0 ) weightedTimeRatio = 1; weightedTimeRatio = runningTotal / OLNumber(divider); } OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Weighted time ratio: " << weightedTimeRatio << endl << OLDIAGEND; // Searching by cost find the 10 "nearest" stats // note that in the following code, the time (cpu or elapsed) // used depends on the value of mUseCpuTime. // First create a dummy object to use for searching DCEQPPStatistic stat; stat.cost = cost, // Find the stat within the existing stats with the closest cost DCEStatisticsPByCostCItr nearestCost = statsByCost.lower.sub.-- bound(&stat); // Calculate the weighted avg cost and time in 3 stages: DCENumber costRunningTotal = 0; DCENumber timeRunningTotal = 0; DCENumber divider = (int)0; DCEStatisticspByCostCItr costItr; int offset; // Check that we are not pointing at the end and that there is // something there at all.... if ( nearestCost == statsByCost.end() ) nearestCost--; OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime() " << endl << " Searching for nearest existing stat by cost. Found cost: " << (*nearestCost)->cost << endl << OLDIAGEND; // first, find the maximum cost offset to be considered within // the existing stats DCENumber maxCostOffset (0); { for (costItr = nearestCost, offset = 0; offset < 5; costItr--, offset++) { DCENumber costDifference = cost - (*costItr)->cost; costDifference.Abs(); if ( costDifference > maxCostOffset ) maxCostOffset = costDifference; if ( costItr == statsByCost.begin()) break; } if (nearestCost != statsByCost.end()) { for (costItr = nearestCost, costItr++, offset = 1; offset < 5 && costItr != statsByCost.end(); costItr++, offset++) { DCENumber costDifference = cost - (*costItr)->cost; costDifference.Abs(); if ( costDifference > maxCostOffset ) maxCostOffset = costDifference; } } maxCostOffset++; OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Found max cost offset: " << maxCostOffset << endl << OLDIAGEND; } // second, consider the five nearest stats before (and including) // the closest one OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Calculating weighted averages of cost & time..." << endl << OLDIAGEND; for (costItr = nearestCost, offset = 0; offset < 5; costItr--, offset++) { DCENumber costDifference = cost - (*costItr)->cost; costDifference.Abs(); DCENumber costOffset (OLNumber(maxCostOffset) - OLNumber(costDifference)); DCENumber time = ( mUseCpuTime ) ? ((*costItr)->actualCpuTime) : ((*costItr)->actualElapsedTime); if ( !time.is.sub.-- null() ) { costRunningTotal += (*costItr)->cost * OLNumber(costOffset); timeRunningTotal += time * OLNumber(costOffset); divider += costOffset; OLDIAGSTRT (OLX::GetInternalDiagstream(), kDCEDebug, 2) << " Using cost: " << (*costItr)->cost << ", stat offset: " << offset << ", cost offset: " << costDifference << endl << OLDIAGEND; } if (costItr == statsByCost.begin()) break; } // then, consider the five nearest stats after (but not // including) the closest one if (nearestCost != statsByCost.end()) { for (costItr = nearestCost, costItr++, offset = 1; offset < 5 && costItr != statsByCost.end(); costItr++, offset++) { DCENumber costDifference = cost - (*costItr)->cost; costDifference.Abs(); DCENumber costOffset (OLNumber(maxCostOffset) - OLNumber (costDifference)); DCENumber time = ( mUseCpuTime ) ? ((*costItr)->actualCpuTime) : ((*costItr)->actualElapsedTime); if ( !time.is.sub.-- null() ) { costRunningTotal += (*costItr)->cost * OLNumber(costOffset) ; timeRunningTotal += time * OLNumber(costOffset); divider += costOffset; OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 2) << " Using cost: " << (*costItr)->cost << ", stat offset: " << offset << ", cost offset: " << costDifference << endl << OLDIAGEND; } } } // Now perform the calculations for weighted avgs DCENumber weightedCost = costRunningTotal / OLNumber(divider); DCENumber weightedTime = timeRunningTotal / OLNumber(divider); OLDIAGSTRT (OLX::GetInternalDiagStream(), kDcEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Cost Running Total: " << costRunningTotal << endl << " Time Running Total: " << timeRunningTotal << endl << " Divider: " << divider << endl << " Weighted Cost: " << weightedCost << endl << " Weighted Time: " << weightedTime << endl << OLDIAGEND; // Estimate the time DCENumber estTime = (cost / weightedCost) * weightedTime; // Finally, estimate the elapsed time DCENumber estElapsedTime = ( estTime == 0 || weightedTimeRatio == 0 ) ? (OLNumber(0)) : ((OLNumber)estTime / (OLNumber)weightedTimeRatio) ; OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "DCEQueryPredictionStats::EstimateElapsedTime()" << endl << " Estimated Time: " << estTime << endl << " Estimated Elapsed Time: " << estElapsedTime << endl << OLDIAGEND; } if(estElapsedTime<DCENumber(DCE.sub.-- MIN.sub.-- SENSIBLE.sub.-- ESTIMATE)) { estElapsedTime = DCE.sub.-- MIN.sub.-- SENSIBLE.sub.-- ESTIMATE; OLDIAGSTRT (OLX::GetInternalDiagStream(), kDCEDebug, 1) << "Adjusting estimate to minimum sensible value: " << estElapsedTime << endl << OLDIAGEND; } # ifdef .sub.-- DEBUG long debugTime = estElapsedTime; # endif return estElapsedTime; } // DCEQueryPredictionStats::EstimateElapsedTime() ______________________________________
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/962,538 US6026391A (en) | 1997-10-31 | 1997-10-31 | Systems and methods for estimating query response times in a computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/962,538 US6026391A (en) | 1997-10-31 | 1997-10-31 | Systems and methods for estimating query response times in a computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
US6026391A true US6026391A (en) | 2000-02-15 |
Family
ID=25506037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/962,538 Expired - Lifetime US6026391A (en) | 1997-10-31 | 1997-10-31 | Systems and methods for estimating query response times in a computer system |
Country Status (1)
Country | Link |
---|---|
US (1) | US6026391A (en) |
Cited By (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178418B1 (en) * | 1998-07-28 | 2001-01-23 | Noetix Corporation | Distributed data warehouse query and resource management system |
US6275819B1 (en) * | 1999-03-16 | 2001-08-14 | Novell, Inc. | Method and apparatus for characterizing and retrieving query results |
US6330552B1 (en) * | 1998-09-28 | 2001-12-11 | Compaq | Database query cost model optimizer |
US6351742B1 (en) * | 1999-03-18 | 2002-02-26 | Oracle Corporation | Method and mechanism for database statement optimization |
US6353818B1 (en) * | 1998-08-19 | 2002-03-05 | Ncr Corporation | Plan-per-tuple optimizing of database queries with user-defined functions |
US6370522B1 (en) * | 1999-03-18 | 2002-04-09 | Oracle Corporation | Method and mechanism for extending native optimization in a database system |
WO2002042925A1 (en) * | 2000-11-21 | 2002-05-30 | Singingfish.Com | A system and process for searching a network |
US20020065899A1 (en) * | 2000-11-30 | 2002-05-30 | Smith Erik Richard | System and method for delivering dynamic content |
US6401083B1 (en) * | 1999-03-18 | 2002-06-04 | Oracle Corporation | Method and mechanism for associating properties with objects and instances |
US20020107835A1 (en) * | 2001-02-08 | 2002-08-08 | Coram Michael T. | System and method for adaptive result set caching |
US6466931B1 (en) * | 1999-07-30 | 2002-10-15 | International Business Machines Corporation | Method and system for transparently caching and reusing query execution plans efficiently |
US6609126B1 (en) | 2000-11-15 | 2003-08-19 | Appfluent Technology, Inc. | System and method for routing database requests to a database and a cache |
US6618730B1 (en) * | 2000-06-16 | 2003-09-09 | Ge Capital Commercial Finance, Inc. | Methods and systems for managing workflow |
US20030172247A1 (en) * | 2001-07-06 | 2003-09-11 | Computer Associates Think, Inc. | System and method for rapidly locating historical performance data |
US20040045040A1 (en) * | 2000-10-24 | 2004-03-04 | Hayward Monte Duane | Method of sizing an embedded media player page |
US20040047596A1 (en) * | 2000-10-31 | 2004-03-11 | Louis Chevallier | Method for processing video data designed for display on a screen and device therefor |
US20040064500A1 (en) * | 2001-11-20 | 2004-04-01 | Kolar Jennifer Lynn | System and method for unified extraction of media objects |
US6728957B1 (en) * | 1999-03-26 | 2004-04-27 | Oki Electric Industry Co., Ltd. | Program response time estimating apparatus |
US6744449B2 (en) * | 1998-12-16 | 2004-06-01 | Microsoft Corporation | Graphical query analyzer |
US20040107175A1 (en) * | 2002-11-29 | 2004-06-03 | Hung Lup Cheong Patrick | System, method, and user interface providing customized document portfolio management |
US20040107214A1 (en) * | 2002-11-29 | 2004-06-03 | Hung Lup Cheong Patrick | Customized document portfolio system integrating IP libraries and technology documents |
US20040107197A1 (en) * | 2002-11-29 | 2004-06-03 | Shen Yu Yong | System, method and user interface allowing customized portfolio management |
US20040111410A1 (en) * | 2002-10-14 | 2004-06-10 | Burgoon David Alford | Information reservoir |
US20040117374A1 (en) * | 2002-12-16 | 2004-06-17 | Hung Lup Cheong Patrick | Customized design portfolio integrating IP libraries and technology documents |
US20040117359A1 (en) * | 2001-03-01 | 2004-06-17 | Snodgrass Richard Thomas | Adaptable query optimization and evaluation in temporal middleware |
US6760684B1 (en) * | 1999-04-30 | 2004-07-06 | Oracle International Corporation | Method and mechanism for profiling a system |
US20040181521A1 (en) * | 1999-12-22 | 2004-09-16 | Simmen David E. | Query optimization technique for obtaining improved cardinality estimates using statistics on pre-defined queries |
US20040236726A1 (en) * | 2003-05-19 | 2004-11-25 | Teracruz, Inc. | System and method for query result caching |
US20050033734A1 (en) * | 2003-08-05 | 2005-02-10 | International Business Machines Corporation | Performance prediction system with query mining |
US20050071331A1 (en) * | 2003-09-30 | 2005-03-31 | Dengfeng Gao | Estimating the compilation time of a query optimizer |
US20050076024A1 (en) * | 2003-10-06 | 2005-04-07 | International Business Machines Corporation | System, method and program for database searching |
US20050097078A1 (en) * | 2003-10-31 | 2005-05-05 | Lohman Guy M. | System, method, and computer program product for progressive query processing |
US20050125392A1 (en) * | 2003-12-08 | 2005-06-09 | Andy Curtis | Methods and systems for providing a response to a query |
US6918117B2 (en) | 2001-02-08 | 2005-07-12 | International Business Machines Corporation | Apparatus and method for dynamic load balancing of multiple cryptographic devices |
WO2005065311A2 (en) * | 2003-12-30 | 2005-07-21 | America Online, Inc. | Searching previously viewed websites |
US20050234900A1 (en) * | 2004-04-14 | 2005-10-20 | International Business Machines Corporation | Query workload statistics collection in a database management system |
US20050240570A1 (en) * | 2004-04-22 | 2005-10-27 | Oracle International Corporation | Partial query caching |
US20050245023A1 (en) * | 2002-05-28 | 2005-11-03 | Osamu Arisumi | Semiconductor device and method of manufacturing the same |
US20060004695A1 (en) * | 2004-06-03 | 2006-01-05 | International Business Machines Corporation | Apparatus and method for autonomically generating a query implementation that meets a defined performance specification |
US6985904B1 (en) | 2002-02-28 | 2006-01-10 | Oracle International Corporation | Systems and methods for sharing of execution plans for similar database statements |
US20060036576A1 (en) * | 1999-12-22 | 2006-02-16 | International Business Machines Corporation | Using data in materialized query tables as a source for query optimization statistics |
US20060085463A1 (en) * | 2001-01-12 | 2006-04-20 | Microsoft Corporation | Sampling for queries |
US20060106839A1 (en) * | 2004-10-29 | 2006-05-18 | International Business Machines Corporation | Maintain optimal query performance by presenting differences between access plans |
US20060117223A1 (en) * | 2004-11-16 | 2006-06-01 | Alberto Avritzer | Dynamic tuning of a software rejuvenation method using a customer affecting performance metric |
US20060130044A1 (en) * | 2004-12-01 | 2006-06-15 | Alberto Avritzer | System and method for triggering software rejuvenation using a customer affecting performance metric |
WO2006071830A1 (en) * | 2004-12-23 | 2006-07-06 | Raytheon Company | System and method for adaptive query identification and acceleration |
US20060156299A1 (en) * | 2005-01-11 | 2006-07-13 | Bondi Andre B | Inducing diversity in replicated systems with software rejuvenation |
US7080062B1 (en) * | 1999-05-18 | 2006-07-18 | International Business Machines Corporation | Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries |
US20060173852A1 (en) * | 2005-01-31 | 2006-08-03 | International Business Machines Corporation | Apparatus and method for highlighting discrepancies between query performance estimates and actual query performance |
US7092931B1 (en) | 2002-05-10 | 2006-08-15 | Oracle Corporation | Methods and systems for database statement execution plan optimization |
US20060200496A1 (en) * | 2005-02-22 | 2006-09-07 | Transparency Software, Inc. | Organization action incidents |
US20060212428A1 (en) * | 2005-03-15 | 2006-09-21 | International Business Machines Corporation | Analysis of performance data from a relational database system for applications using stored procedures or SQL |
US20060230040A1 (en) * | 2003-12-08 | 2006-10-12 | Andy Curtis | Methods and systems for providing a response to a query |
GB2425625A (en) * | 2005-04-28 | 2006-11-01 | Cogito Ltd | Database performance analysis |
US20060248080A1 (en) * | 2005-04-28 | 2006-11-02 | Jon Gray | Information processing system and method |
US20060259460A1 (en) * | 2005-05-13 | 2006-11-16 | Thomas Zurek | Data query cost estimation |
US20060271504A1 (en) * | 2005-05-26 | 2006-11-30 | Inernational Business Machines Corporation | Performance data for query optimization of database partitions |
US20070016558A1 (en) * | 2005-07-14 | 2007-01-18 | International Business Machines Corporation | Method and apparatus for dynamically associating different query execution strategies with selective portions of a database table |
US20070016578A1 (en) * | 1998-09-27 | 2007-01-18 | Haim Melman | Apparatus and method for search and retrieval of documents |
US20070027860A1 (en) * | 2005-07-28 | 2007-02-01 | International Business Machines Corporation | Method and apparatus for eliminating partitions of a database table from a join query using implicit limitations on a partition key value |
US20070050353A1 (en) * | 2005-08-31 | 2007-03-01 | Ekberg Christopher A | Information synthesis engine |
US20070094544A1 (en) * | 2005-10-26 | 2007-04-26 | Alberto Avritzer | System and method for triggering software rejuvenation using a customer affecting performance metric |
US20070100783A1 (en) * | 2005-10-29 | 2007-05-03 | International Business Machines Corporation | Method, system, and program for determining discrepancies between database management systems |
US7228300B2 (en) | 1998-10-05 | 2007-06-05 | Oracle International Corporation | Caching the results of security policy functions |
US20070143246A1 (en) * | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query |
US20070162426A1 (en) * | 2006-01-10 | 2007-07-12 | Brown Douglas P | Closed-loop predicate analysis |
US20070168373A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | GUI component feedback for functional tasks that are qualified by performance or quality |
US20070174292A1 (en) * | 2006-01-26 | 2007-07-26 | Wen-Syan Li | Autonomic recommendation and placement of materialized query tables for load distribution |
US20070185933A1 (en) * | 2006-02-03 | 2007-08-09 | International Business Machines Corporation | Predictive data object retrieval |
US20070294214A1 (en) * | 2006-06-15 | 2007-12-20 | Santosuosso John M | System and Method for Managing Execution of Queries Against Database Samples |
US20080010240A1 (en) * | 2006-06-30 | 2008-01-10 | Mohamed Zait | Executing alternative plans for a SQL statement |
US20080033806A1 (en) * | 2006-07-20 | 2008-02-07 | Howe Karen N | Targeted advertising for playlists based upon search queries |
US20080059405A1 (en) * | 2006-08-31 | 2008-03-06 | Barsness Eric L | Priority reduction for fast partitions during query execution |
US20080059407A1 (en) * | 2006-08-31 | 2008-03-06 | Barsness Eric L | Method and system for managing execution of a query against a partitioned database |
US20080071755A1 (en) * | 2006-08-31 | 2008-03-20 | Barsness Eric L | Re-allocation of resources for query execution in partitions |
US20080172356A1 (en) * | 2007-01-17 | 2008-07-17 | Microsoft Corporation | Progressive parametric query optimization |
US20080177700A1 (en) * | 2007-01-19 | 2008-07-24 | Wen-Syan Li | Automated and dynamic management of query views for database workloads |
US20080208825A1 (en) * | 2003-12-08 | 2008-08-28 | Andy Curtis | Methods and systems for providing a response to a query |
US20080235080A1 (en) * | 2004-11-22 | 2008-09-25 | International Business Machines Corporation | Performance Prediction Service Using Business-Process Information |
US20080270346A1 (en) * | 2007-04-30 | 2008-10-30 | Abhay Mehta | Estimating the static execution time of a database query |
US20090030888A1 (en) * | 2007-07-25 | 2009-01-29 | Birendra Kumar Sahu | Techniques for scoring and comparing query execution plans |
US20090030875A1 (en) * | 2004-01-07 | 2009-01-29 | International Business Machines Corporation | Statistics management |
US20090077016A1 (en) * | 2007-09-14 | 2009-03-19 | Oracle International Corporation | Fully automated sql tuning |
US20090077017A1 (en) * | 2007-09-18 | 2009-03-19 | Oracle International Corporation | Sql performance analyzer |
US20090106746A1 (en) * | 2007-10-19 | 2009-04-23 | Microsoft Corporation | Application and database context for database application developers |
US20090106320A1 (en) * | 2007-10-17 | 2009-04-23 | Benoit Dageville | Automatic Recognition and Capture of SQL Execution Plans |
US20090248621A1 (en) * | 2008-03-31 | 2009-10-01 | Benoit Dageville | Method and mechanism for out-of-the-box real-time sql monitoring |
US20090300505A1 (en) * | 2008-05-30 | 2009-12-03 | Fujitsu Limited | Information processing apparatus, recovering method of entry information thereto, and recording medium |
US20090319477A1 (en) * | 2008-06-23 | 2009-12-24 | Oracle International Corporation | Performing cost-based optimizations of authorization checks in database systems |
US7647280B1 (en) * | 2003-12-08 | 2010-01-12 | Teradata Us, Inc. | Closed-loop estimation of request costs |
US20100017414A1 (en) * | 2008-07-18 | 2010-01-21 | Leeds Douglas D | Search activity eraser |
US20100030741A1 (en) * | 2008-07-30 | 2010-02-04 | Theodore Johnson | Method and apparatus for performing query aware partitioning |
US20100082602A1 (en) * | 2008-07-05 | 2010-04-01 | Archana Sulochana Ganapathi | Predicting Performance Of Multiple Queries Executing In A Database |
US20100082507A1 (en) * | 2008-09-30 | 2010-04-01 | Archana Sulochana Ganapathi | Predicting Performance Of Executing A Query In Isolation In A Database |
US20100094852A1 (en) * | 2008-10-14 | 2010-04-15 | Chetan Kumar Gupta | Scheduling queries using a stretch metric |
US20100114865A1 (en) * | 2008-10-21 | 2010-05-06 | Chetan Kumar Gupta | Reverse Mapping Of Feature Space To Predict Execution In A Database |
US7721061B1 (en) * | 2005-06-22 | 2010-05-18 | Hewlett-Packard Development Company, L.P. | Method of predicting response time for storage request |
US20100205208A1 (en) * | 2004-09-15 | 2010-08-12 | Graematter, Inc. | System and method for regulatory intelligence |
US20100250564A1 (en) * | 2009-03-30 | 2010-09-30 | Microsoft Corporation | Translating a comprehension into code for execution on a single instruction, multiple data (simd) execution |
US7853585B2 (en) | 2005-03-17 | 2010-12-14 | International Business Machines Corporation | Monitoring performance of a data processing system |
US8219537B1 (en) * | 2009-07-29 | 2012-07-10 | Bank Of America Corporation | Identifying skewed queries in an MMP system |
US8316045B1 (en) * | 2009-02-10 | 2012-11-20 | Sprint Communications Company L.P. | Database linking system |
US20120296930A1 (en) * | 2011-05-17 | 2012-11-22 | Speedtrack, Inc. | Pre-caching |
US20130166782A1 (en) * | 2011-12-27 | 2013-06-27 | Fujitsu Limited | Storage system, controller module and method of controlling storage system |
US8595475B2 (en) | 2000-10-24 | 2013-11-26 | AOL, Inc. | Method of disseminating advertisements using an embedded media player page |
CN1826578B (en) * | 2003-02-18 | 2014-07-02 | 邓百氏公司 | Data integration method |
JP2015022573A (en) * | 2013-07-19 | 2015-02-02 | 富士通株式会社 | Data analysis program, data analysis apparatus, and data analysis method |
GB2532297A (en) * | 2014-11-14 | 2016-05-18 | Tata Consultancy Services Ltd | A method and system for efficient performance prediction of structured query for big data |
US20160147888A1 (en) * | 2014-11-21 | 2016-05-26 | Red Hat, Inc. | Federation optimization using ordered queues |
EP3026602A1 (en) * | 2014-11-28 | 2016-06-01 | Siemens Aktiengesellschaft | Method for computer-controlled processing of requests for the analysis of data in a storage medium |
US20160216708A1 (en) * | 2013-09-06 | 2016-07-28 | Obshchestvo S Ogranichennoy Otvetstvennostyu "Kiberneticheskiye Tekhnologii" | Control device for cyber-physical systems |
US9418088B1 (en) * | 2015-12-02 | 2016-08-16 | International Business Machines Corporation | Identification of storage system elements causing performance degradation |
US9910892B2 (en) | 2008-07-05 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Managing execution of database queries |
US20180173735A1 (en) * | 2016-12-15 | 2018-06-21 | International Business Machines Corporation | System and method for dynamically estimating data classification job progress and execution time |
US20180276031A1 (en) * | 2015-09-15 | 2018-09-27 | Alibaba Group Holding Limited | Task allocation method and system |
WO2018212790A1 (en) * | 2017-05-18 | 2018-11-22 | Oracle International Corporation | Estimated query performance |
US10452652B2 (en) | 2016-09-15 | 2019-10-22 | At&T Intellectual Property I, L.P. | Recommendation platform for structured queries |
US10621064B2 (en) | 2014-07-07 | 2020-04-14 | Oracle International Corporation | Proactive impact measurement of database changes on production systems |
CN114218262A (en) * | 2021-12-07 | 2022-03-22 | 中信银行股份有限公司 | A database user-level system resource monitoring method, system, device and readable storage medium |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
US11386058B2 (en) | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4803614A (en) * | 1985-02-21 | 1989-02-07 | Hitachi, Ltd. | System for retrieving distributed information in a data base |
US4956774A (en) * | 1988-09-02 | 1990-09-11 | International Business Machines Corporation | Data base optimizer using most frequency values statistics |
US5287459A (en) * | 1991-10-03 | 1994-02-15 | International Business Machines Corporation | Method and apparatus for reducing response time in automated library data retrieval systems |
US5315580A (en) * | 1990-09-28 | 1994-05-24 | Hewlett-Packard Company | Network monitoring device and system |
US5379424A (en) * | 1990-05-10 | 1995-01-03 | Kabushiki Kaisha Toshiba | Distributed database management system for retrieving data files from databases selected based upon retrieval time |
US5412806A (en) * | 1992-08-20 | 1995-05-02 | Hewlett-Packard Company | Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database |
US5444820A (en) * | 1993-12-09 | 1995-08-22 | Long Island Lighting Company | Adaptive system and method for predicting response times in a service environment |
US5459837A (en) * | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
US5469560A (en) * | 1991-04-10 | 1995-11-21 | International Business Machines Corporation | Prioritizing pending read requests in an automated storage library |
US5504894A (en) * | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US5572640A (en) * | 1994-12-01 | 1996-11-05 | Hewlett-Packard Company | Batch transfer system and method for high performance graphic display of network topology |
US5694591A (en) * | 1995-05-02 | 1997-12-02 | Hewlett Packard Company | Reducing query response time using tree balancing |
US5764912A (en) * | 1995-08-10 | 1998-06-09 | Advanced System Technologies | Method and apparatus for determining response time in computer applications |
US5794227A (en) * | 1989-12-23 | 1998-08-11 | International Computers Limited | Optimization of the order in which the comparisons of the components of a boolean query expression are applied to a database record stored as a byte stream |
US5852820A (en) * | 1996-08-09 | 1998-12-22 | Digital Equipment Corporation | Method for optimizing entries for searching an index |
-
1997
- 1997-10-31 US US08/962,538 patent/US6026391A/en not_active Expired - Lifetime
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4803614A (en) * | 1985-02-21 | 1989-02-07 | Hitachi, Ltd. | System for retrieving distributed information in a data base |
US4956774A (en) * | 1988-09-02 | 1990-09-11 | International Business Machines Corporation | Data base optimizer using most frequency values statistics |
US5794227A (en) * | 1989-12-23 | 1998-08-11 | International Computers Limited | Optimization of the order in which the comparisons of the components of a boolean query expression are applied to a database record stored as a byte stream |
US5379424A (en) * | 1990-05-10 | 1995-01-03 | Kabushiki Kaisha Toshiba | Distributed database management system for retrieving data files from databases selected based upon retrieval time |
US5315580A (en) * | 1990-09-28 | 1994-05-24 | Hewlett-Packard Company | Network monitoring device and system |
US5469560A (en) * | 1991-04-10 | 1995-11-21 | International Business Machines Corporation | Prioritizing pending read requests in an automated storage library |
US5287459A (en) * | 1991-10-03 | 1994-02-15 | International Business Machines Corporation | Method and apparatus for reducing response time in automated library data retrieval systems |
US5504894A (en) * | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US5412806A (en) * | 1992-08-20 | 1995-05-02 | Hewlett-Packard Company | Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database |
US5459837A (en) * | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
US5444820A (en) * | 1993-12-09 | 1995-08-22 | Long Island Lighting Company | Adaptive system and method for predicting response times in a service environment |
US5572640A (en) * | 1994-12-01 | 1996-11-05 | Hewlett-Packard Company | Batch transfer system and method for high performance graphic display of network topology |
US5694591A (en) * | 1995-05-02 | 1997-12-02 | Hewlett Packard Company | Reducing query response time using tree balancing |
US5764912A (en) * | 1995-08-10 | 1998-06-09 | Advanced System Technologies | Method and apparatus for determining response time in computer applications |
US5852820A (en) * | 1996-08-09 | 1998-12-22 | Digital Equipment Corporation | Method for optimizing entries for searching an index |
Cited By (236)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178418B1 (en) * | 1998-07-28 | 2001-01-23 | Noetix Corporation | Distributed data warehouse query and resource management system |
US6353818B1 (en) * | 1998-08-19 | 2002-03-05 | Ncr Corporation | Plan-per-tuple optimizing of database queries with user-defined functions |
US20090182737A1 (en) * | 1998-09-27 | 2009-07-16 | Haim Zvi Melman | Apparatus and method for search and retrieval of documents |
US9229973B2 (en) * | 1998-09-27 | 2016-01-05 | Haim Zvi Melman | Apparatus and method for search and retrieval of documents |
US9965557B2 (en) | 1998-09-27 | 2018-05-08 | Uber Technologies, Inc. | Apparatus and method for retrieval of documents |
US9262538B2 (en) | 1998-09-27 | 2016-02-16 | Haim Zvi Melman | Apparatus and method for search and retrieval of documents |
US20070016578A1 (en) * | 1998-09-27 | 2007-01-18 | Haim Melman | Apparatus and method for search and retrieval of documents |
US6330552B1 (en) * | 1998-09-28 | 2001-12-11 | Compaq | Database query cost model optimizer |
US7228300B2 (en) | 1998-10-05 | 2007-06-05 | Oracle International Corporation | Caching the results of security policy functions |
US6744449B2 (en) * | 1998-12-16 | 2004-06-01 | Microsoft Corporation | Graphical query analyzer |
US6275819B1 (en) * | 1999-03-16 | 2001-08-14 | Novell, Inc. | Method and apparatus for characterizing and retrieving query results |
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 |
US6370522B1 (en) * | 1999-03-18 | 2002-04-09 | Oracle Corporation | Method and mechanism for extending native optimization in a database system |
US6738782B2 (en) | 1999-03-18 | 2004-05-18 | Oracle International Corporation | Method and mechanism for extending native optimization in a database system |
US6728957B1 (en) * | 1999-03-26 | 2004-04-27 | Oki Electric Industry Co., Ltd. | Program response time estimating apparatus |
US6760684B1 (en) * | 1999-04-30 | 2004-07-06 | Oracle International Corporation | Method and mechanism for profiling a system |
US7080062B1 (en) * | 1999-05-18 | 2006-07-18 | International Business Machines Corporation | Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries |
US6466931B1 (en) * | 1999-07-30 | 2002-10-15 | International Business Machines Corporation | Method and system for transparently caching and reusing query execution plans efficiently |
US8386450B2 (en) * | 1999-12-22 | 2013-02-26 | International Business Machines Corporation | Query optimization technique for obtaining improved cardinality estimates using statistics on pre-defined queries |
US7783625B2 (en) * | 1999-12-22 | 2010-08-24 | International Business Machines Corporation | Using data in materialized query tables as a source for query optimization statistics |
US7890491B1 (en) * | 1999-12-22 | 2011-02-15 | International Business Machines Corporation | Query optimization technique for obtaining improved cardinality estimates using statistics on automatic summary tables |
US20040181521A1 (en) * | 1999-12-22 | 2004-09-16 | Simmen David E. | Query optimization technique for obtaining improved cardinality estimates using statistics on pre-defined queries |
US20060036576A1 (en) * | 1999-12-22 | 2006-02-16 | International Business Machines Corporation | Using data in materialized query tables as a source for query optimization statistics |
US6618730B1 (en) * | 2000-06-16 | 2003-09-09 | Ge Capital Commercial Finance, Inc. | Methods and systems for managing workflow |
US9454775B2 (en) | 2000-10-24 | 2016-09-27 | Aol Inc. | Systems and methods for rendering content |
US8595475B2 (en) | 2000-10-24 | 2013-11-26 | AOL, Inc. | Method of disseminating advertisements using an embedded media player page |
US8819404B2 (en) | 2000-10-24 | 2014-08-26 | Aol Inc. | Method of disseminating advertisements using an embedded media player page |
US9595050B2 (en) | 2000-10-24 | 2017-03-14 | Aol Inc. | Method of disseminating advertisements using an embedded media player page |
US20040045040A1 (en) * | 2000-10-24 | 2004-03-04 | Hayward Monte Duane | Method of sizing an embedded media player page |
US8918812B2 (en) | 2000-10-24 | 2014-12-23 | Aol Inc. | Method of sizing an embedded media player page |
US20040047596A1 (en) * | 2000-10-31 | 2004-03-11 | Louis Chevallier | Method for processing video data designed for display on a screen and device therefor |
US6609126B1 (en) | 2000-11-15 | 2003-08-19 | Appfluent Technology, Inc. | System and method for routing database requests to a database and a cache |
US20110004604A1 (en) * | 2000-11-21 | 2011-01-06 | AOL, Inc. | Grouping multimedia and streaming media search results |
US20040030682A1 (en) * | 2000-11-21 | 2004-02-12 | Porter Charles A. | System and process for searching a network |
US20050038809A1 (en) * | 2000-11-21 | 2005-02-17 | Abajian Aram Christian | Internet streaming media workflow architecture |
WO2002042925A1 (en) * | 2000-11-21 | 2002-05-30 | Singingfish.Com | A system and process for searching a network |
US9009136B2 (en) | 2000-11-21 | 2015-04-14 | Microsoft Technology Licensing, Llc | Methods and systems for enhancing metadata |
US9110931B2 (en) | 2000-11-21 | 2015-08-18 | Microsoft Technology Licensing, Llc | Fuzzy database retrieval |
US7720836B2 (en) | 2000-11-21 | 2010-05-18 | Aol Inc. | Internet streaming media workflow architecture |
US7925967B2 (en) | 2000-11-21 | 2011-04-12 | Aol Inc. | Metadata quality improvement |
US20050177568A1 (en) * | 2000-11-21 | 2005-08-11 | Diamond Theodore G. | Full-text relevancy ranking |
US20050193014A1 (en) * | 2000-11-21 | 2005-09-01 | John Prince | Fuzzy database retrieval |
US7181444B2 (en) | 2000-11-21 | 2007-02-20 | America Online, Inc. | System and process for searching a network |
US8095529B2 (en) | 2000-11-21 | 2012-01-10 | Aol Inc. | Full-text relevancy ranking |
US20070130131A1 (en) * | 2000-11-21 | 2007-06-07 | Porter Charles A | System and process for searching a network |
US20020099737A1 (en) * | 2000-11-21 | 2002-07-25 | Porter Charles A. | Metadata quality improvement |
US7752186B2 (en) | 2000-11-21 | 2010-07-06 | Aol Inc. | Grouping multimedia and streaming media search results |
US10210184B2 (en) | 2000-11-21 | 2019-02-19 | Microsoft Technology Licensing, Llc | Methods and systems for enhancing metadata |
US8209311B2 (en) | 2000-11-21 | 2012-06-26 | Aol Inc. | Methods and systems for grouping uniform resource locators based on masks |
US8700590B2 (en) | 2000-11-21 | 2014-04-15 | Microsoft Corporation | Grouping multimedia and streaming media search results |
US20020065899A1 (en) * | 2000-11-30 | 2002-05-30 | Smith Erik Richard | System and method for delivering dynamic content |
US20060085410A1 (en) * | 2001-01-12 | 2006-04-20 | Microsoft Corporation | Sampling for queries |
US7577638B2 (en) * | 2001-01-12 | 2009-08-18 | Microsoft Corporation | Sampling for queries |
US7493316B2 (en) * | 2001-01-12 | 2009-02-17 | Microsoft Corporation | Sampling for queries |
US7287020B2 (en) * | 2001-01-12 | 2007-10-23 | Microsoft Corporation | Sampling for queries |
US20060085463A1 (en) * | 2001-01-12 | 2006-04-20 | Microsoft Corporation | Sampling for queries |
US20020107835A1 (en) * | 2001-02-08 | 2002-08-08 | Coram Michael T. | System and method for adaptive result set caching |
US6918117B2 (en) | 2001-02-08 | 2005-07-12 | International Business Machines Corporation | Apparatus and method for dynamic load balancing of multiple cryptographic devices |
US20040117359A1 (en) * | 2001-03-01 | 2004-06-17 | Snodgrass Richard Thomas | Adaptable query optimization and evaluation in temporal middleware |
US8676539B2 (en) * | 2001-07-06 | 2014-03-18 | Ca, Inc. | System and method for rapidly locating historical performance data |
US20030172247A1 (en) * | 2001-07-06 | 2003-09-11 | Computer Associates Think, Inc. | System and method for rapidly locating historical performance data |
US20080065442A1 (en) * | 2001-07-06 | 2008-03-13 | Computer Associates Think, Inc. | System and Method for Rapidly Locating Historical Performance Data |
US20040064500A1 (en) * | 2001-11-20 | 2004-04-01 | Kolar Jennifer Lynn | System and method for unified extraction of media objects |
US6985904B1 (en) | 2002-02-28 | 2006-01-10 | Oracle International Corporation | Systems and methods for sharing of execution plans for similar database statements |
US7092931B1 (en) | 2002-05-10 | 2006-08-15 | Oracle Corporation | Methods and systems for database statement execution plan optimization |
US20050245023A1 (en) * | 2002-05-28 | 2005-11-03 | Osamu Arisumi | Semiconductor device and method of manufacturing the same |
US20040111410A1 (en) * | 2002-10-14 | 2004-06-10 | Burgoon David Alford | Information reservoir |
US7386539B2 (en) | 2002-11-29 | 2008-06-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | System, method, and user interface providing customized document portfolio management |
US20040107197A1 (en) * | 2002-11-29 | 2004-06-03 | Shen Yu Yong | System, method and user interface allowing customized portfolio management |
US20040107214A1 (en) * | 2002-11-29 | 2004-06-03 | Hung Lup Cheong Patrick | Customized document portfolio system integrating IP libraries and technology documents |
US20040107175A1 (en) * | 2002-11-29 | 2004-06-03 | Hung Lup Cheong Patrick | System, method, and user interface providing customized document portfolio management |
US20040117374A1 (en) * | 2002-12-16 | 2004-06-17 | Hung Lup Cheong Patrick | Customized design portfolio integrating IP libraries and technology documents |
CN1826578B (en) * | 2003-02-18 | 2014-07-02 | 邓百氏公司 | Data integration method |
US20040236726A1 (en) * | 2003-05-19 | 2004-11-25 | Teracruz, Inc. | System and method for query result caching |
US20050033734A1 (en) * | 2003-08-05 | 2005-02-10 | International Business Machines Corporation | Performance prediction system with query mining |
US7249128B2 (en) * | 2003-08-05 | 2007-07-24 | International Business Machines Corporation | Performance prediction system with query mining |
WO2005017667A3 (en) * | 2003-08-05 | 2005-06-02 | Ibm | Performance prediction system with query mining |
US7356526B2 (en) | 2003-09-30 | 2008-04-08 | International Business Machines Corporation | Estimating the compilation time of a query optimizer |
US20050071331A1 (en) * | 2003-09-30 | 2005-03-31 | Dengfeng Gao | Estimating the compilation time of a query optimizer |
US20050076024A1 (en) * | 2003-10-06 | 2005-04-07 | International Business Machines Corporation | System, method and program for database searching |
US8055647B2 (en) * | 2003-10-06 | 2011-11-08 | International Business Machines Corporation | System, method and program for database searching |
US7716215B2 (en) | 2003-10-31 | 2010-05-11 | International Business Machines Corporation | System, method, and computer program product for progressive query processing |
US20050097078A1 (en) * | 2003-10-31 | 2005-05-05 | Lohman Guy M. | System, method, and computer program product for progressive query processing |
US7383246B2 (en) | 2003-10-31 | 2008-06-03 | International Business Machines Corporation | System, method, and computer program product for progressive query processing |
US7984048B2 (en) | 2003-12-08 | 2011-07-19 | Iac Search & Media, Inc. | Methods and systems for providing a response to a query |
US7647280B1 (en) * | 2003-12-08 | 2010-01-12 | Teradata Us, Inc. | Closed-loop estimation of request costs |
US20060230040A1 (en) * | 2003-12-08 | 2006-10-12 | Andy Curtis | Methods and systems for providing a response to a query |
US7739274B2 (en) * | 2003-12-08 | 2010-06-15 | Iac Search & Media, Inc. | Methods and systems for providing a response to a query |
US20100138400A1 (en) * | 2003-12-08 | 2010-06-03 | Andy Curtis | Methods and systems for providing a response to a query |
US8037087B2 (en) | 2003-12-08 | 2011-10-11 | Iac Search & Media, Inc. | Methods and systems for providing a response to a query |
US20100030735A1 (en) * | 2003-12-08 | 2010-02-04 | Andy Curtis | Methods and systems for providing a response to a query |
US20080208825A1 (en) * | 2003-12-08 | 2008-08-28 | Andy Curtis | Methods and systems for providing a response to a query |
US8065299B2 (en) | 2003-12-08 | 2011-11-22 | Iac Search & Media, Inc. | Methods and systems for providing a response to a query |
US20050125392A1 (en) * | 2003-12-08 | 2005-06-09 | Andy Curtis | Methods and systems for providing a response to a query |
US20080208824A1 (en) * | 2003-12-08 | 2008-08-28 | Andy Curtis | Methods and systems for providing a response to a query |
US20050165742A1 (en) * | 2003-12-30 | 2005-07-28 | Weisheke Chin | Searching previously viewed web sites |
WO2005065311A2 (en) * | 2003-12-30 | 2005-07-21 | America Online, Inc. | Searching previously viewed websites |
WO2005065311A3 (en) * | 2003-12-30 | 2006-04-13 | America Online Inc | Searching previously viewed websites |
US20090030875A1 (en) * | 2004-01-07 | 2009-01-29 | International Business Machines Corporation | Statistics management |
US7984024B2 (en) | 2004-01-07 | 2011-07-19 | International Business Machines Corporation | Statistics management |
US7302422B2 (en) * | 2004-04-14 | 2007-11-27 | International Business Machines Corporation | Query workload statistics collection in a database management system |
US20050234900A1 (en) * | 2004-04-14 | 2005-10-20 | International Business Machines Corporation | Query workload statistics collection in a database management system |
US20080033912A1 (en) * | 2004-04-14 | 2008-02-07 | International Business Machines Corporation | Query Workload Statistics Collection in a Database Management System |
US20050240570A1 (en) * | 2004-04-22 | 2005-10-27 | Oracle International Corporation | Partial query caching |
US7676453B2 (en) | 2004-04-22 | 2010-03-09 | Oracle International Corporation | Partial query caching |
US9135298B2 (en) | 2004-06-03 | 2015-09-15 | International Business Machines Corporation | Autonomically generating a query implementation that meets a defined performance specification |
US20080215535A1 (en) * | 2004-06-03 | 2008-09-04 | International Business Machines Corporation | Autonomically generating a query implementation that meets a defined performance specification |
US20060004695A1 (en) * | 2004-06-03 | 2006-01-05 | International Business Machines Corporation | Apparatus and method for autonomically generating a query implementation that meets a defined performance specification |
US8161037B2 (en) | 2004-06-03 | 2012-04-17 | International Business Machines Corporation | Method for autonomically generating a query implementation that meets a defined performance specification |
US9292623B2 (en) * | 2004-09-15 | 2016-03-22 | Graematter, Inc. | System and method for regulatory intelligence |
US20100205208A1 (en) * | 2004-09-15 | 2010-08-12 | Graematter, Inc. | System and method for regulatory intelligence |
US20060106839A1 (en) * | 2004-10-29 | 2006-05-18 | International Business Machines Corporation | Maintain optimal query performance by presenting differences between access plans |
US8161038B2 (en) * | 2004-10-29 | 2012-04-17 | International Business Machines Corporation | Maintain optimal query performance by presenting differences between access plans |
US8055952B2 (en) * | 2004-11-16 | 2011-11-08 | Siemens Medical Solutions Usa, Inc. | Dynamic tuning of a software rejuvenation method using a customer affecting performance metric |
US20060117223A1 (en) * | 2004-11-16 | 2006-06-01 | Alberto Avritzer | Dynamic tuning of a software rejuvenation method using a customer affecting performance metric |
US20080235080A1 (en) * | 2004-11-22 | 2008-09-25 | International Business Machines Corporation | Performance Prediction Service Using Business-Process Information |
US8626569B2 (en) * | 2004-11-22 | 2014-01-07 | International Business Machines Corporation | Performance prediction service using entity-process information |
US20060130044A1 (en) * | 2004-12-01 | 2006-06-15 | Alberto Avritzer | System and method for triggering software rejuvenation using a customer affecting performance metric |
US7596560B2 (en) | 2004-12-23 | 2009-09-29 | Raytheon Company | System and method for adaptive query identification and acceleration |
WO2006071830A1 (en) * | 2004-12-23 | 2006-07-06 | Raytheon Company | System and method for adaptive query identification and acceleration |
AU2005322096B2 (en) * | 2004-12-23 | 2010-08-12 | Raytheon Company | System and method for adaptive query identification and acceleration |
JP2008525897A (en) * | 2004-12-23 | 2008-07-17 | レイセオン・カンパニー | System and method for adaptive query identification and acceleration |
US20060156299A1 (en) * | 2005-01-11 | 2006-07-13 | Bondi Andre B | Inducing diversity in replicated systems with software rejuvenation |
US7484128B2 (en) * | 2005-01-11 | 2009-01-27 | Siemens Corporate Research, Inc. | Inducing diversity in replicated systems with software rejuvenation |
US20060173852A1 (en) * | 2005-01-31 | 2006-08-03 | International Business Machines Corporation | Apparatus and method for highlighting discrepancies between query performance estimates and actual query performance |
US20060200496A1 (en) * | 2005-02-22 | 2006-09-07 | Transparency Software, Inc. | Organization action incidents |
US20060212428A1 (en) * | 2005-03-15 | 2006-09-21 | International Business Machines Corporation | Analysis of performance data from a relational database system for applications using stored procedures or SQL |
US7809694B2 (en) * | 2005-03-15 | 2010-10-05 | International Business Machines Corporation | Analysis of performance data from a relational database system for applications using stored procedures or SQL |
US7853585B2 (en) | 2005-03-17 | 2010-12-14 | International Business Machines Corporation | Monitoring performance of a data processing system |
GB2425625A (en) * | 2005-04-28 | 2006-11-01 | Cogito Ltd | Database performance analysis |
US7877378B2 (en) * | 2005-04-28 | 2011-01-25 | Cogito Ltd | System and method for consolidating execution information relatin to execution of instructions by a database management system |
US20060248080A1 (en) * | 2005-04-28 | 2006-11-02 | Jon Gray | Information processing system and method |
US7356524B2 (en) * | 2005-05-13 | 2008-04-08 | Sap Ag | Query runtime estimation using statistical query records |
US20080140615A1 (en) * | 2005-05-13 | 2008-06-12 | Thomas Zurek | Data query cost estimation |
US7668803B2 (en) * | 2005-05-13 | 2010-02-23 | Sap Ag | Data query cost estimation |
US20060259460A1 (en) * | 2005-05-13 | 2006-11-16 | Thomas Zurek | Data query cost estimation |
US20060271504A1 (en) * | 2005-05-26 | 2006-11-30 | Inernational Business Machines Corporation | Performance data for query optimization of database partitions |
US7734615B2 (en) | 2005-05-26 | 2010-06-08 | International Business Machines Corporation | Performance data for query optimization of database partitions |
US7721061B1 (en) * | 2005-06-22 | 2010-05-18 | Hewlett-Packard Development Company, L.P. | Method of predicting response time for storage request |
US9063982B2 (en) | 2005-07-14 | 2015-06-23 | International Business Machines Corporation | Dynamically associating different query execution strategies with selective portions of a database table |
US8386463B2 (en) | 2005-07-14 | 2013-02-26 | International Business Machines Corporation | Method and apparatus for dynamically associating different query execution strategies with selective portions of a database table |
US20070016558A1 (en) * | 2005-07-14 | 2007-01-18 | International Business Machines Corporation | Method and apparatus for dynamically associating different query execution strategies with selective portions of a database table |
US20070027860A1 (en) * | 2005-07-28 | 2007-02-01 | International Business Machines Corporation | Method and apparatus for eliminating partitions of a database table from a join query using implicit limitations on a partition key value |
US7548913B2 (en) * | 2005-08-31 | 2009-06-16 | Lycos, Inc. | Information synthesis engine |
US20070050353A1 (en) * | 2005-08-31 | 2007-03-01 | Ekberg Christopher A | Information synthesis engine |
US7475292B2 (en) * | 2005-10-26 | 2009-01-06 | Siemens Corporate Research, Inc. | System and method for triggering software rejuvenation using a customer affecting performance metric |
US20070094544A1 (en) * | 2005-10-26 | 2007-04-26 | Alberto Avritzer | System and method for triggering software rejuvenation using a customer affecting performance metric |
US20070100783A1 (en) * | 2005-10-29 | 2007-05-03 | International Business Machines Corporation | Method, system, and program for determining discrepancies between database management systems |
US20070143246A1 (en) * | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query |
US7860858B2 (en) * | 2006-01-10 | 2010-12-28 | Teradata Us, Inc. | Closed-loop predicate analysis |
US20070162426A1 (en) * | 2006-01-10 | 2007-07-12 | Brown Douglas P | Closed-loop predicate analysis |
US20070168373A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | GUI component feedback for functional tasks that are qualified by performance or quality |
US20070174292A1 (en) * | 2006-01-26 | 2007-07-26 | Wen-Syan Li | Autonomic recommendation and placement of materialized query tables for load distribution |
US7689538B2 (en) * | 2006-01-26 | 2010-03-30 | International Business Machines Corporation | Autonomic recommendation and placement of materialized query tables for load distribution |
US20070185933A1 (en) * | 2006-02-03 | 2007-08-09 | International Business Machines Corporation | Predictive data object retrieval |
US8838620B2 (en) * | 2006-02-03 | 2014-09-16 | International Business Machines Corporation | Predictive data object retrieval |
US8239383B2 (en) | 2006-06-15 | 2012-08-07 | International Business Machines Corporation | System and method for managing execution of queries against database samples |
US20070294214A1 (en) * | 2006-06-15 | 2007-12-20 | Santosuosso John M | System and Method for Managing Execution of Queries Against Database Samples |
US7877373B2 (en) | 2006-06-30 | 2011-01-25 | Oracle International Corporation | Executing alternative plans for a SQL statement |
US20080010240A1 (en) * | 2006-06-30 | 2008-01-10 | Mohamed Zait | Executing alternative plans for a SQL statement |
US20080033806A1 (en) * | 2006-07-20 | 2008-02-07 | Howe Karen N | Targeted advertising for playlists based upon search queries |
US9633356B2 (en) | 2006-07-20 | 2017-04-25 | Aol Inc. | Targeted advertising for playlists based upon search queries |
US7831620B2 (en) * | 2006-08-31 | 2010-11-09 | International Business Machines Corporation | Managing execution of a query against a partitioned database |
US20080059407A1 (en) * | 2006-08-31 | 2008-03-06 | Barsness Eric L | Method and system for managing execution of a query against a partitioned database |
US20080059405A1 (en) * | 2006-08-31 | 2008-03-06 | Barsness Eric L | Priority reduction for fast partitions during query execution |
US20080071755A1 (en) * | 2006-08-31 | 2008-03-20 | Barsness Eric L | Re-allocation of resources for query execution in partitions |
US7792819B2 (en) * | 2006-08-31 | 2010-09-07 | International Business Machines Corporation | Priority reduction for fast partitions during query execution |
US20080172356A1 (en) * | 2007-01-17 | 2008-07-17 | Microsoft Corporation | Progressive parametric query optimization |
US20080183667A1 (en) * | 2007-01-19 | 2008-07-31 | International Business Machines Corporation | Automated and dynamic management of query views for database workloads |
US7716214B2 (en) * | 2007-01-19 | 2010-05-11 | International Business Machines Corporation | Automated and dynamic management of query views for database workloads |
US20080177700A1 (en) * | 2007-01-19 | 2008-07-24 | Wen-Syan Li | Automated and dynamic management of query views for database workloads |
US20080270346A1 (en) * | 2007-04-30 | 2008-10-30 | Abhay Mehta | Estimating the static execution time of a database query |
US7831594B2 (en) * | 2007-04-30 | 2010-11-09 | Hewlett-Packard Development Company, L.L.P. | Estimating the static execution time of a database query |
US7941425B2 (en) * | 2007-07-25 | 2011-05-10 | Teradata Us, Inc. | Techniques for scoring and comparing query execution plans |
US20090030888A1 (en) * | 2007-07-25 | 2009-01-29 | Birendra Kumar Sahu | Techniques for scoring and comparing query execution plans |
US20090077016A1 (en) * | 2007-09-14 | 2009-03-19 | Oracle International Corporation | Fully automated sql tuning |
US8903801B2 (en) | 2007-09-14 | 2014-12-02 | Oracle International Corporation | Fully automated SQL tuning |
US9720941B2 (en) | 2007-09-14 | 2017-08-01 | Oracle International Corporation | Fully automated SQL tuning |
US9734200B2 (en) | 2007-09-14 | 2017-08-15 | Oracle International Corporation | Identifying high risk database statements in changing database environments |
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
US20090077017A1 (en) * | 2007-09-18 | 2009-03-19 | Oracle International Corporation | Sql performance analyzer |
US8335767B2 (en) | 2007-10-17 | 2012-12-18 | Oracle International Corporation | Maintaining and utilizing SQL execution plan histories |
US8600977B2 (en) | 2007-10-17 | 2013-12-03 | Oracle International Corporation | Automatic recognition and capture of SQL execution plans |
US9189522B2 (en) | 2007-10-17 | 2015-11-17 | Oracle International Corporation | SQL execution plan baselines |
US8700608B2 (en) | 2007-10-17 | 2014-04-15 | Oracle International Corporation | SQL execution plan verification |
US20090106320A1 (en) * | 2007-10-17 | 2009-04-23 | Benoit Dageville | Automatic Recognition and Capture of SQL Execution Plans |
US10229158B2 (en) | 2007-10-17 | 2019-03-12 | Oracle International Corporation | SQL execution plan verification |
US8307343B2 (en) | 2007-10-19 | 2012-11-06 | Microsoft Corporation | Application and database context correlation for database application developers |
US20090106746A1 (en) * | 2007-10-19 | 2009-04-23 | Microsoft Corporation | Application and database context for database application developers |
US8577871B2 (en) * | 2008-03-31 | 2013-11-05 | Oracle International Corporation | Method and mechanism for out-of-the-box real-time SQL monitoring |
US20090248621A1 (en) * | 2008-03-31 | 2009-10-01 | Benoit Dageville | Method and mechanism for out-of-the-box real-time sql monitoring |
US20090300505A1 (en) * | 2008-05-30 | 2009-12-03 | Fujitsu Limited | Information processing apparatus, recovering method of entry information thereto, and recording medium |
US8392405B2 (en) * | 2008-06-23 | 2013-03-05 | Oracle International Corporation | Performing cost-based optimizations of authorization checks in database systems |
US20090319477A1 (en) * | 2008-06-23 | 2009-12-24 | Oracle International Corporation | Performing cost-based optimizations of authorization checks in database systems |
US9189523B2 (en) * | 2008-07-05 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | Predicting performance of multiple queries executing in a database |
US20100082602A1 (en) * | 2008-07-05 | 2010-04-01 | Archana Sulochana Ganapathi | Predicting Performance Of Multiple Queries Executing In A Database |
US9910892B2 (en) | 2008-07-05 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Managing execution of database queries |
US20100017414A1 (en) * | 2008-07-18 | 2010-01-21 | Leeds Douglas D | Search activity eraser |
US8180771B2 (en) | 2008-07-18 | 2012-05-15 | Iac Search & Media, Inc. | Search activity eraser |
US9418107B2 (en) * | 2008-07-30 | 2016-08-16 | At&T Intellectual Property I, L.P. | Method and apparatus for performing query aware partitioning |
US20100030741A1 (en) * | 2008-07-30 | 2010-02-04 | Theodore Johnson | Method and apparatus for performing query aware partitioning |
US10394813B2 (en) | 2008-07-30 | 2019-08-27 | At&T Intellectual Property I, L.P. | Method and apparatus for performing query aware partitioning |
US20100082507A1 (en) * | 2008-09-30 | 2010-04-01 | Archana Sulochana Ganapathi | Predicting Performance Of Executing A Query In Isolation In A Database |
US20100094852A1 (en) * | 2008-10-14 | 2010-04-15 | Chetan Kumar Gupta | Scheduling queries using a stretch metric |
US9355129B2 (en) * | 2008-10-14 | 2016-05-31 | Hewlett Packard Enterprise Development Lp | Scheduling queries using a stretch metric |
US8275762B2 (en) * | 2008-10-21 | 2012-09-25 | Hewlett-Packard Development Company, L.P. | Reverse mapping of feature space to predict execution in a database |
US20100114865A1 (en) * | 2008-10-21 | 2010-05-06 | Chetan Kumar Gupta | Reverse Mapping Of Feature Space To Predict Execution In A Database |
US8316045B1 (en) * | 2009-02-10 | 2012-11-20 | Sprint Communications Company L.P. | Database linking system |
US20100250564A1 (en) * | 2009-03-30 | 2010-09-30 | Microsoft Corporation | Translating a comprehension into code for execution on a single instruction, multiple data (simd) execution |
US8219537B1 (en) * | 2009-07-29 | 2012-07-10 | Bank Of America Corporation | Identifying skewed queries in an MMP system |
US20170109403A1 (en) * | 2011-05-17 | 2017-04-20 | Speedtrack, Inc. | Pre-caching |
US20120296930A1 (en) * | 2011-05-17 | 2012-11-22 | Speedtrack, Inc. | Pre-caching |
US9355139B2 (en) * | 2011-05-17 | 2016-05-31 | Speedtrack, Inc. | Pre-caching |
US20130166782A1 (en) * | 2011-12-27 | 2013-06-27 | Fujitsu Limited | Storage system, controller module and method of controlling storage system |
US9104230B2 (en) * | 2011-12-27 | 2015-08-11 | Fujitsu Limited | Storage system, controller module and method of controlling storage system |
JP2015022573A (en) * | 2013-07-19 | 2015-02-02 | 富士通株式会社 | Data analysis program, data analysis apparatus, and data analysis method |
US20160216708A1 (en) * | 2013-09-06 | 2016-07-28 | Obshchestvo S Ogranichennoy Otvetstvennostyu "Kiberneticheskiye Tekhnologii" | Control device for cyber-physical systems |
US10621064B2 (en) | 2014-07-07 | 2020-04-14 | Oracle International Corporation | Proactive impact measurement of database changes on production systems |
GB2532297A (en) * | 2014-11-14 | 2016-05-18 | Tata Consultancy Services Ltd | A method and system for efficient performance prediction of structured query for big data |
US9767168B2 (en) * | 2014-11-21 | 2017-09-19 | Red Hat, Inc. | Federation optimization using ordered queues |
US20160147888A1 (en) * | 2014-11-21 | 2016-05-26 | Red Hat, Inc. | Federation optimization using ordered queues |
US11709849B2 (en) | 2014-11-21 | 2023-07-25 | Red Hat, Inc. | Federation optimization using ordered queues |
EP3026602A1 (en) * | 2014-11-28 | 2016-06-01 | Siemens Aktiengesellschaft | Method for computer-controlled processing of requests for the analysis of data in a storage medium |
US10936364B2 (en) * | 2015-09-15 | 2021-03-02 | Alibaba Group Holding Limited | Task allocation method and system |
US20180276031A1 (en) * | 2015-09-15 | 2018-09-27 | Alibaba Group Holding Limited | Task allocation method and system |
US10223190B2 (en) | 2015-12-02 | 2019-03-05 | International Business Machines Corporation | Identification of storage system elements causing performance degradation |
US9418088B1 (en) * | 2015-12-02 | 2016-08-16 | International Business Machines Corporation | Identification of storage system elements causing performance degradation |
US10452652B2 (en) | 2016-09-15 | 2019-10-22 | At&T Intellectual Property I, L.P. | Recommendation platform for structured queries |
US11238034B2 (en) | 2016-09-15 | 2022-02-01 | At&T Intellectual Property I, L.P. | Recommendation platform for structured queries |
US10671578B2 (en) * | 2016-12-15 | 2020-06-02 | International Business Machines Corporation | System and method for dynamically estimating data classification job progress and execution time |
US20180173735A1 (en) * | 2016-12-15 | 2018-06-21 | International Business Machines Corporation | System and method for dynamically estimating data classification job progress and execution time |
WO2018212790A1 (en) * | 2017-05-18 | 2018-11-22 | Oracle International Corporation | Estimated query performance |
US11386058B2 (en) | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
CN114218262A (en) * | 2021-12-07 | 2022-03-22 | 中信银行股份有限公司 | A database user-level system resource monitoring method, system, device and readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6026391A (en) | Systems and methods for estimating query response times in a computer system | |
US6023695A (en) | Summary table management in a computer system | |
US11314823B2 (en) | Method and apparatus for expanding query | |
US6138111A (en) | Cardinality-based join ordering | |
US7136850B2 (en) | Self tuning database retrieval optimization using regression functions | |
US6957211B1 (en) | Query optimizer cost model | |
US8572067B2 (en) | Method to estimate the number of distinct value combinations for a set of attributes in a database system | |
US6023696A (en) | Summary table query routing | |
US6477523B1 (en) | Selectivity prediction with compressed histograms in a parallel processing database system | |
US7702627B2 (en) | Efficient interaction among cost-based transformations | |
US20080195577A1 (en) | Automatically and adaptively determining execution plans for queries with parameter markers | |
US7203685B2 (en) | Apparatus and method for estimating cardinality when data skew is present | |
US20070198439A1 (en) | Robust cardinality and cost estimation for skyline operator | |
CN103299267A (en) | Methods and systems for performing cross store joins in a multi-tenant store | |
JPH06214843A (en) | Data base management system and processing method for inquiry | |
US20090018991A1 (en) | Query rewrite with a remote object | |
CN106250240A (en) | A kind of optimizing and scheduling task method | |
US9406027B2 (en) | Making predictions regarding evaluation of functions for a database environment | |
US20050108204A1 (en) | System and method for managing OLAP summary tables | |
Sarawagi | User-cognizant multidimensional analysis | |
Bell et al. | Pragmatic estimation of join sizes and attribute correlations | |
Italiano et al. | Synchronization options for data warehouse designs | |
CN114880071B (en) | Cluster configuration method and its device, equipment, medium, and product | |
KR20190129474A (en) | Apparatus and method for retrieving data | |
Shaoyu et al. | Practical throughput estimation for parallel databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ORACLE CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OSBORN, ANDREW P.;FRAGAPANE, PAOLO;REEL/FRAME:009108/0825 Effective date: 19980330 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORACLE CORPORATION;REEL/FRAME:014990/0524 Effective date: 20031113 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |