Patents by Inventor Mohamed Zait

Mohamed Zait has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20070219977
    Abstract: Under a type of query transformation referred to herein as join factorization, the branches of an UNION/UNION ALL query that join a common table are combined to reduce accesses to the common table. The transformation can be expressed as (T1 join T2) union all (T1 join T3)=T1 join (T2 union all T3), where T1, T2 and T3 are three tables. A given query may be rewritten in many alternate ways using join factorization. Evaluating each alternative can be expensive. Therefore, the alternatives are generated and evaluated in a way that minimizes the cost of evaluating the alternatives.
    Type: Application
    Filed: March 8, 2007
    Publication date: September 20, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Hong Su, Rafi Ahmed, Allison Lee, Mohamed Zait
  • Publication number: 20070219969
    Abstract: Under a type of query transformation referred to herein as join factorization, the branches of an UNION/UNION ALL query that join a common table are combined to reduce accesses to the common table. The transformation can be expressed as (T1 join T2) union all (T1 join T3)=T1 join (T2 union all T3), where T1, T2 and T3 are three tables. A given query may be rewritten in many alternate ways using join factorization. Evaluating each alternative can be expensive. Therefore, the alternatives are generated and evaluated in a way that minimizes the cost of evaluating the alternatives.
    Type: Application
    Filed: March 8, 2007
    Publication date: September 20, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Hong Su, Rafi Ahmed, Allison Lee, Mohamed Zait, Thierry Cruanes
  • Publication number: 20070078812
    Abstract: Techniques are provided for delaying evaluation of expensive expressions in a query. Expensive expressions in the query are established by cost information or by looking up a list of known expensive expressions for a match. After an execution plan is determined by using the early evaluation technique, one or more equivalent execution plans is established. The one or more equivalent execution plans may include both a type of execution plans that delay evaluation of expensive expressions and a type of execution plans that do not. In addition, the one or more equivalent execution plans may include both parallelized and non-parallelized alternatives to the execution plan identified by the early evaluation technique. Finally, based on a set of criteria, which may include comparing cost information among all the equivalent execution plans generated thus far, the best execution plan is chosen for the query.
    Type: Application
    Filed: September 30, 2005
    Publication date: April 5, 2007
    Applicant: Oracle International Corporation
    Inventors: Allison Waingold, Rafi Ahmed, Bhaskar Ghosh, Dinesh Das, Mohamed Zait
  • Publication number: 20060182046
    Abstract: Techniques are provided for performing a parallel aggregation operation on data that resides in a container, such as a relational table. During generation of the execution plan for the operation, it is determined whether partition-wise aggregation should be performed, based on the grouping keys involved in the aggregation and the partition keys used to partition the container. If partition-wise aggregation is to be performed, then the assignments given to the slave processes that are assigned to scan a container are made on a partition-wise basis. The scan slaves themselves may perform full or partial aggregation (depending on whether they are the only scan slaves assigned to the partition). If the scan slaves perform no aggregation, or only partial aggregation, then the scan slaves redistribute the data items to aggregation slaves that are local to the scan slaves.
    Type: Application
    Filed: February 16, 2005
    Publication date: August 17, 2006
    Inventors: Benoit Dageville, Bhaskar Ghosh, Rushan Chen, Thierry Cruanes, Mohamed Zait
  • Patent number: 7020661
    Abstract: Techniques for eliminating one or more portions of a data object from any join step of an operation that joins multiple data objects include determining that an operation joins a first data object and a second data object. The second data object includes multiple portions. Each of multiple data units of the first data object is scanned. Based on data in the data units of the first data object, information is generated. The information indicates a portion of the second data object for exclusion. The indicated portion is excluded from an output of the operation. Only one or more portions of the second data object that are not indicated for exclusion in the information are included in a particular join step involving the second data object. By pruning a large second table, such as a fact table, the computational resources consumed by the joins are substantially reduced.
    Type: Grant
    Filed: July 10, 2002
    Date of Patent: March 28, 2006
    Assignee: Oracle International Corporation
    Inventors: Thierry Cruanes, Mohamed Zait, Benoit Dageville
  • Patent number: 6965891
    Abstract: A method and system for performing partition pruning for queries that include a non-single table predicate is disclosed. According to an embodiment of the invention, this type of query is processed by performing a transformation of the query to include additional predicates comprising subqueries. The transformed query includes single table predicates on the partitioning column of the table being queried, based upon join predicates that exist in the original query.
    Type: Grant
    Filed: February 27, 2001
    Date of Patent: November 15, 2005
    Assignee: Oracle International Corporation
    Inventors: Hakan Jakobsson, Mohamed Zait, Benoit Dageville
  • Patent number: 6957225
    Abstract: Methods are provided for automatically discovering correlations between values in columns of tables. A set of significantly correlated columns is identified by identifying correlated columns, and by determining the significance of the correlation between the correlated columns from one or more tables. If the correlated columns are considered significantly correlated, a correlation table is constructed that includes records representing distinct combinations of values corresponding to the correlated columns. Embodiments include methods for identifying correlated columns, for determining the significance of the correlation between the correlated columns, and for using the resultant correlation table to enhance performance of a query execution process. One particular embodiment provides for using a correlation table for partition pruning a partitioned table, with respect to a query execution plan.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: October 18, 2005
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Abhinav Gupta, Benoit Dageville
  • Patent number: 6931390
    Abstract: The present invention is directed to a method and mechanism for partitioning using information not directly located in the object being partitioned. According to an embodiment of the invention, foreign key-primary key relationships are utilized to create join conditions between multiple database tables to implement partitioning of a database object. Also, disclosed are methods and mechanisms to perform partition pruning.
    Type: Grant
    Filed: February 27, 2001
    Date of Patent: August 16, 2005
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Benoit Dageville
  • Publication number: 20050177557
    Abstract: A run-away query execution is automatically identified by a background process that periodically looks at each of the currently executing queries and compares the current execution time with the execution time estimated by the optimizer. Each query execution having a negative execution time difference can be automatically identified as a run-away query execution. The query execution plans that result in run-away executions can then be automatically tuned to produce more efficient execution plans.
    Type: Application
    Filed: September 7, 2004
    Publication date: August 11, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Ziauddin, Benoit Dageville, Khaled Yagoub, Mohamed Zait
  • Publication number: 20050138015
    Abstract: A method for receiving a database query language statement and statistics information about the statement at an optimizer, and identifying an inaccurate statistic for the statement, is disclosed.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 23, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Benoit Dageville, Mohamed Ziauddin, Mohamed Zait, Dinesh Das
  • Publication number: 20050125427
    Abstract: A method for receiving a database query language statement and performance information about the statement at an optimizer and generating one or more tuning actions for the statement with the performance information is disclosed.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 9, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Benoit Dageville, Mohamed Ziauddin, Khaled Yagoub, Mohamed Zait, Dinesh Das, Karl Dias, Mark Ramacher, Leng Tan
  • Publication number: 20050125452
    Abstract: A persistent data structure for storing a profile of tuning information for a query statement separately from the query statement is disclosed. The persistent data structure includes a statement signature to identify the statement, and an action to tune the statement.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 9, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Ziauddin, Benoit Dageville, Mohamed Zait, Khaled Yagoub
  • Publication number: 20050125398
    Abstract: A method for determining a name for a query block of a database query language statement, and associating one or more tuning hints with the query block using the name, is disclosed.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 9, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Dinesh Das, Benoit Dageville, Mohamed Ziauddin, Mohamed Zait
  • Publication number: 20050119999
    Abstract: A method of gathering performance information about a workload, and automatically identifying a set of high-load database query language statements from the workload based on the performance information, is disclosed.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 2, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Zait, Benoit Dageville, Dinesh Das, Khaled Yagoub, Mohamed Ziauddin
  • Publication number: 20050120001
    Abstract: A method to addresses structural performance problems of a database query language statement is provided. The method includes receiving a database query language statement at an optimizer, evaluating choices in a search space to generate an execution plan for the statement, and producing annotations to record one or more reasons for selecting each choice while generating the execution plan.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 2, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Khaled Yagoub, Benoit Dageville, Mohamed Ziauddin, Mohamed Zait, Karl Dias
  • Publication number: 20050120000
    Abstract: Auto-tuning can be performed by receiving a database query language statement and performance information related to the statement, determining whether one or more performance statistics of the statement are available or missing in the performance information, and determining an auto-tuning hint for each missing statistic.
    Type: Application
    Filed: September 7, 2004
    Publication date: June 2, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Ziauddin, Benoit Dageville, Mohamed Zait, Dinesh Das
  • Publication number: 20050038784
    Abstract: The present invention is directed to a method and mechanism for partitioning using information not directly located in the object being partitioned. According to an embodiment of the invention, foreign key-primary key relationships are utilized to create join conditions between multiple database tables to implement partitioning of a database object. Also, disclosed are methods and mechanisms to perform partition pruning.
    Type: Application
    Filed: September 27, 2004
    Publication date: February 17, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Zait, Benoit Dageville
  • Publication number: 20040210563
    Abstract: A method and system of collecting execution statistics of query statements is disclosed. An execution plan is generated for a query statement in one embodiment of the invention. The execution plan includes one or more operations. One of the one or more operations is selected. The selected execution plan is then executed and a plurality of execution statistics of the selected operation is collected.
    Type: Application
    Filed: April 21, 2003
    Publication date: October 21, 2004
    Applicant: Oracle International Corporation
    Inventors: Mohamed Zait, Ari Mozes, Cetin Ozbutun
  • Publication number: 20040073763
    Abstract: An application program (such as a database) is responsive to a value (also called externally-set global value) that defines the amount of memory to be used by the application program for functions (such as queries) performed by the application program. In one embodiment, a sequence of instructions (also called “memory broker”) uses the externally-set global value to compute one or more internal values that are then used when allocating memory. The memory broker dynamically revises the internal value(s) based on memory being allocated for the functions, thereby to form a feedback loop.
    Type: Application
    Filed: October 1, 2001
    Publication date: April 15, 2004
    Inventors: Benoit Dageville, Mohamed Zait
  • Patent number: 6665684
    Abstract: Techniques are disclosed for expanding the concept of partitioning in variety of ways. In particular techniques are provided for performing multiple-dimension partitioning. In multiple-dimension partitioning, a database object is divided into partitions based on one criteria, and each of those resulting partitions is divided into sub-partitions based on a second criteria. The process of partitioning partitions based on different criteria may be repeated across any number of dimensions. Entirely different partitioning techniques may be used for each level of partitioning. The database server takes advantage of partitions when processing queries by selectively accessing a subset of partitions on disk or reducing the number of internal join operations.
    Type: Grant
    Filed: September 27, 1999
    Date of Patent: December 16, 2003
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Benoit Dageville, Andre Kruglikov, Gianfranco Putzolu