WO2013172821A1 - Traitement de requête - Google Patents
Traitement de requête Download PDFInfo
- Publication number
- WO2013172821A1 WO2013172821A1 PCT/US2012/037938 US2012037938W WO2013172821A1 WO 2013172821 A1 WO2013172821 A1 WO 2013172821A1 US 2012037938 W US2012037938 W US 2012037938W WO 2013172821 A1 WO2013172821 A1 WO 2013172821A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- query
- sql
- group
- operations
- rollup
- Prior art date
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24537—Query rewriting; Transformation of operators
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Definitions
- Query processing with multiple distinct aggregates, cube, rollup, and grouping sets can include maintaining separate streams of groupings and then performing operations, such as group by, join, etc., on the streams to generate query results.
- the number of streams and the number of group by or join operations are proportional, for example, to the number of distinct aggregates in the query. This results in increased memory usage and thus increased expense as the number of distinct operations to respond to a query increases. This can further result in a distributed deadlock.
- Figure 1 illustrates an architecture of a query processing apparatus, according to an example of the present disclosure
- Figure 2 illustrates a method for query processing, according to an example of the present disclosure
- Figure 3 illustrates further details of the method for query processing, according to an example of the present disclosure.
- Figure 4 illustrates a computer system, according to an example of the present disclosure.
- the terms “a” and “an” are intended to denote at least one of a particular element.
- the term “includes” means includes but not limited to, the term “including” means including but not limited to.
- the term “based on” means based at least in part on.
- the query processing apparatus includes a query input module to receive a query.
- a query determination module determines whether the SQL query includes MDAs, or cube, rollup or grouping sets operations. Based on the determination, an intermediate processing module processes the From and Where clauses of the query and forwards the results to a group generator module.
- the group generator module generates groupings as an output specific to the query type. For a SQL query including MDAs, a SQL-MDA group by processing module performs two successive group by operations on the output of the group generator module to answer the query. For a SQL query including cube, rollup or grouping sets operations, a SQL cube, rollup and grouping sets group by processing module performs a single group by operation on the output of the group generator module to answer the query.
- the apparatus and method provide for the processing of intermediate results (or the results of intermediate groupings) that are generated during processing of SQL queries with MDAs, or cube, rollup or grouping sets operations.
- the number of group by operations that are needed to answer the foregoing query types are also bound.
- the intermediate results i.e., the output of the group generator module
- the number of group by operations used is two.
- the number of group by operations is independent of the number of distinct aggregates in the query and remains at two.
- the number of group by operations used is one. Since the number of group by operations are limited, the resources needed are also limited, and are therefore unrelated, for example, to the number of MDAs, or the number of keys in cube or rollup operations, or the number of sets in the grouping sets operation.
- Figure 1 illustrates an architecture of a query processing apparatus 100, according to an example.
- the apparatus 100 is depicted as including a query input module 102 to receive a query 104.
- the query 104 may be a SQL query including MDAs, or a SQL query including cube, rollup or grouping sets operations.
- a query determination module 106 determines whether the SQL query includes MDAs, or cube, rollup or grouping sets operations. Based on the determination, an intermediate processing module 108 processes the query and forwards the results to a group generator module 110.
- the group generator module 110 processes the query and the input from the intermediate processing module 108 to generate an output 112 for a SQL query including MDAs, or an output 114 for a SQL query including cube, rollup or grouping sets operations.
- a SQL query including MDAs a SQL-MDA group by processing module 116 performs two successive group by operations on the output 112 of the group generator module 110 to answer a query.
- a SQL cube, rollup and grouping sets group by processing module 118 performs a single group by operation on the output 114 of the group generator module 110 to answer a query.
- the answer to the query 104 is output at 120 by a query response module 122.
- the query response module 122 also performs any additional processing needed based on the query type on the outputs of the SQL-MDA group by processing module 116 and the SQL cube, rollup and grouping sets group by processing module 118.
- the modules 102, 106, 108, 110, 116, 118 and 122, and other components of the apparatus 100 may comprise machine readable instructions stored on a computer readable medium.
- the modules 102, 106, 108, 110, 116, 118 and 122, and other components of the apparatus 100 may comprise hardware or a combination of machine readable instructions and hardware.
- the group generator module 110 generates groupings used to answer the query 104 based on whether the SQL query includes MDAs, or cube, rollup or grouping sets operations.
- An example of a SQL query with MDAs for a Table 1 i.e., Table foo is as follows:
- a SQL query with MDAs may include: select a, sum(distinct b), count(distinct c) from foo group by a.
- a SQL query including cube, rollup and grouping sets operations allows for the performance of multi-level aggregations in a single query.
- An example of a SQL query including a cube operation for Table 1 may include: select a, b, sum( ) from foo group by cube(a, b).
- An example of a SQL query including a rollup operation for Table 1 may include: select a, b, sum(/b) from foo group by rollup (a, b).
- an example of a SQL query including a grouping sets operation for Table 1 may include: select a, b, sum(jb) from foo group by grouping sets (a, (b,c)).
- SQL queries including MDAs or cube, rollup or grouping sets operations use multiple groups that are formed and processed.
- the query returns a sum of all unique values of b, and a count of all unique values of c, for each unique value of a. This operation is based on a determination of all unique values of b and c for each unique value of a, which uses the groupings ⁇ a, b ⁇ and ⁇ a, c ⁇ .
- the operation uses the groupings ⁇ , ⁇ a ⁇ , ⁇ b ⁇ , ⁇ a, b ⁇ .
- the operation uses the groupings , ⁇ a ⁇ , ⁇ a,b ⁇ .
- the operation uses the groupings ⁇ a ⁇ , ⁇ b,c ⁇ .
- the query processing apparatus and method provide for the generation, propagation and processing of these different groupings.
- the group generator module 110 thus implements the innermost subquery (i.e., select a, b, null as c, 0 as groupingjd from foo union all select a, null, c, 1 from foo) in the foregoing transformation.
- the two outer select blocks i.e., select a, b, c, groupingjd from parallel group by a, b, c, groupingjd and select a, sum(b), count(c) from fixed group by a
- the foregoing SQL query with MDAs contains m (m > 0) grouping columns (9i,—,9m), k (k > 0) non-distinct aggregates, and n (n > 1) distinct aggregates. Since operation of the group generator module 110 is independent of the contents of the foregoing From and Where clauses (i.e., from ⁇ >, where ⁇ >), no details are provided as to the contents of these clauses.
- the two group by operations performed by the SQL-MDA group by processing module 116 are specified as follows.
- the inner group by operation may be specified as follows:
- Grouping columns (gi,...,g m , groupingjd) Aggregates: agg(ai),...,agg(a k ) [0021]
- the outer group by may be specified as follows: Group by:
- agg_convert is a converted aggregate as specified by the following two rules. For rule 1 , if agg is "count” or “count(*)” then agg_convert is "sum”. For rule 2, if agg is neither "count” nor "count( * )” then agg_convert is the same as agg.
- a SQL query with MDAs is processed by first processing the From and the Where clauses of the query (i.e., the where ⁇ > clause in the foregoing example of generalized SQL queries with MDAs).
- the Where clause is processed by the intermediate processing module 108.
- the output of the intermediate processing module 108 is fed into the group generator module 110, which outputs (m+n+k+1) columns at the output 112.
- the output 112 of the group generator module 110 is fed to the SQL-MDA group by processing module 116, which performs two successive group by operations on the output 112 to answer a query.
- the SQL query including MDAs relates to Table 2 (i.e., Table Orders) as follows, which also includes the data specified below:
- the query may specify:
- groupingjd Grouping ID
- the group generator module 110 With regard to a SQL query including cube, rollup or grouping sets operations, generally, the group generator module 110 generates the groupings as the output 114. The output 114 of the group generator module 110 is fed to the SQL cube, rollup and grouping sets group by processing module 118, which performs a single group by operation on the output 114 answer a query. The answer to the query 104 is output at 120 by the query response module 122.
- OPR(gi g m ) may be any of the following: cube(gi,...,g m )
- the group generator module 110 is specified as follows. Cube(gi,...,g m ) forms 2 m groupings (i.e., all possible combinations over columns (gi,...,g m ))- The group generator module 110 outputs at 114 (m+k+1) columns, as presented by the following SQL:
- the group generator module 110 may be specified as follows.
- the group generator module 110 outputs (m+k+1) columns, as presented by the following SQL.
- Let "foo” represent the input data stream from the intermediate processing module 108 to the group generator module 110.
- Rollup(o/i,...,g m ) will form (m+1) groupings: (), (g?), (gi ! g2),--, ⁇ gi,g2 ! g3),--,(gi,gz- !
- Each "union all" branch below will generate one of the above (m+1) groupings as follows: select null, null, null, ai,...,a k , 0 as grouping_id from foo union all select g-i , null, null, ai a k , 1 from foo union all select gi , g,, null, ai , a k , i from foo union all select gi g , g m , ai , a k , m from foo
- the group generator module 110 may be specified as follows.
- the group generator module 110 outputs (m+k+1) columns, as presented by the following SQL. Let "foo" represent the input data stream from the intermediate processing module 108 to the group generator module 110.
- Grouping sets(subseti(g i) .--,gm),--.,subsetn(g i , ...,gm)) will form (n) groupings subseti(gi,...,g m ),...,subsetn(gi,...
- the SQL cube, rollup and grouping sets group by processing module 118 which receives the output 114 of the group generator module 110 is specified as follows.
- the group by operation of the SQL cube, rollup and grouping sets group by processing module 118 proceeds as follows:
- a SQL query including cube, rollup or grouping sets operations is processed by first processing the From and the Where clauses of the query (i.e., the where ⁇ > clause in the foregoing example of generalized SQL query including cube, rollup or grouping sets operations).
- the Where clause is processed by the intermediate processing module 108.
- the output of the intermediate processing module 108 is fed into the group generator module 110.
- the output 114 of the group generator module 110 is fed to the SQL cube, rollup and grouping sets group by processing module 118, which performs a single group by operation on the output 114 to answer a query.
- the answer to the query 04 is output at 120 by the query response module 122.
- the SQL query including a cube operation relates to Table 2 (i.e., Table Orders) as described previously.
- the query may specify: select prodid, dealerid, sum(amount) as sum_amount, sum(quantity) as sum_quantity
- null as prodid, null as dearlerid, amount, quantity, 0 as groupingjd
- Table 8 - Inner Query Block select null as prodid, null as dealerid, amount, quantity, 0 as groupingjd from orders
- null as prodid, null as dearlerid, amount, quantity, 0 as groupingjd from orders
- the SQL query including a rollup operation relates to Table 2 (i.e., Table Orders) as described previously.
- the query may specify: select prodid, dealerid, sum(amount) as sum_amount, sum(quantity) sum_quantity
- Table 12 - Outer Query Block select prodid, dealerid, sum(amount) as sum_amount, sum(quantity) as sum_quantity
- the SQL query including a grouping sets operation relates to Table 2 (i.e., Table Orders) as described previously.
- the query may specify:
- Table 14 - Inner Query Block select null as prodid, dealerid, amount, quantity, 0 as groupingjd from orders
- Figures 2 and 3 illustrate flowcharts of methods 200 and 300 for query processing, corresponding to the example of a query processing apparatus 100 whose construction is described in detail above.
- the methods 200 and 300 may be implemented on the query processing apparatus 100 with reference to Figure 1 by way of example and not limitation.
- the methods 200 and 300 may be practiced in other apparatus.
- a query is received.
- the query input module 102 receives the query 104.
- the query determination module 106 determines whether the SQL query includes MDAs, or cube, rollup or grouping sets operations.
- the query is processed to generate an output.
- the intermediate processing module 108 processes the From and the Where clauses of the query and forwards the results to the group generator module 110.
- the group generator module 110 processes the query and the input from the intermediate processing module 108 to generate the output 112 for a SQL query including MDAs, or the output 114 for a SQL query including cube, rollup or grouping sets operations.
- a predetermined number of maximum group by operations are performed on the output to generate a response to the query.
- the SQL-MDA group by processing module 116 performs two successive group by operations on the output 112 of the group generator module 110 to answer a query.
- the SQL cube, rollup and grouping sets group by processing module 118 performs a single group by operation on the output 114 of the group generator module 110 to answer a query.
- a query is received.
- the query input module 102 receives the query 104.
- the query determination module 106 determines whether the SQL query includes MDAs, or cube, rollup or grouping sets operations.
- the From and the Where clauses of the query are processed.
- the intermediate processing module 108 processes the From and the Where clauses of the query and forwards the results to the group generator module 110.
- a first output is generated.
- the group generator module 110 processes the query and the input from the intermediate processing module 108 to generate the output 112 for a SQL query including MDAs.
- a second output is generated.
- the group generator module 110 processes the query and the input from the intermediate processing module 108 to generate the output 114 for a SQL query including cube, rollup or grouping sets operations.
- inner and outer group by operations are generated and performed.
- the SQL-MDA group by processing module 116 performs two successive group by operations on the output 112 of the group generator module 110 to answer a SQL query including MDAs.
- 2 m groupings are generated, where m is a number of grouping columns for the cube operation.
- m is a number of grouping columns for the cube operation.
- cube(g ? ,...,g m ) forms 2 m groupings (i.e., all possible combinations over columns (gi,...,g m )).
- m+1 groupings are generated, where m is a number of grouping columns for the rollup operation.
- the group generator module 110 outputs m+1 groupings, each with (m+k+1) columns, for a SQL query including the rollup operation with m number of grouping columns and k number of aggregates.
- n groupings are generated, where n is a number of sets for the grouping sets operation.
- the group generator module 110 outputs n groupings, each with (m+k+1) columns, for a SQL query including the grouping sets operation with n number of grouping sets, m number of grouping columns and k number of aggregates.
- a single group by operation is performed on the output of the group generator module to answer a query.
- the SQL cube, rollup and grouping sets group by processing module 118 performs a single group by operation on the output 114 of the group generator module 110 to answer a SQL query including cube, rollup or grouping sets operations.
- Figure 4 shows a computer system that may be used with the examples described herein.
- the computer system represents a generic platform that includes components that may be in a server or another computer system.
- the computer system may be used as a platform for the apparatus 100.
- the computer system may execute, by a processor or other hardware processing circuit, the methods, functions and other processes described herein. These methods, functions and other processes may be embodied as machine readable instructions stored on a computer readable medium, which may be non-transitory, such as hardware storage devices (e.g., RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), hard drives, and flash memory).
- RAM random access memory
- ROM read only memory
- EPROM erasable, programmable ROM
- EEPROM electrically erasable, programmable ROM
- hard drives and flash memory
- the computer system includes a processor 402 that may implement or execute machine readable instructions performing some or all of the methods, functions and other processes described herein. Commands and data from the processor 402 are communicated over a communication bus 404.
- the computer system also includes a main memory 406, such as a random access memory (RAM), where the machine readable instructions and data for the processor 402 may reside during runtime, and a secondary data storage 408, which may be nonvolatile and stores machine readable instructions and data.
- the memory and data storage are examples of computer readable mediums.
- the memory 406 may include modules 420 including machine readable instructions residing in the memory 406 during runtime and executed by the processor 402.
- the modules 420 may include the modules 102, 106, 108, 110, 116, 118 and 122 of the apparatus shown in Figure 1.
- the computer system may include an I/O device 410, such as a keyboard, a mouse, a display, etc.
- the computer system may include a network interface 412 for connecting to a network.
- Other known electronic components may be added or substituted in the computer system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention concerne un procédé servant au traitement de requête qui comprend une étape de réception d'une requête, et une étape de détermination d'un type de requête qui consiste à déterminer si la requête est une requête du langage de requête structurée (SQL) comprenant plusieurs agrégats distincts (MDA), ou une requête SQL comprenant les opérations de cube, cumul ou ensembles de groupements. En fonction de la détermination, le procédé comprend le traitement de la requête pour générer une sortie, et la mise en oeuvre d'un nombre prédéterminé de groupes maximum par opérations sur la sortie en fonction du type de requête pour générer une réponse à la requête.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/398,229 US10180960B2 (en) | 2012-05-15 | 2012-05-15 | Query processing |
EP12876711.8A EP2850537A4 (fr) | 2012-05-15 | 2012-05-15 | Traitement de requête |
CN201280072765.5A CN104303176A (zh) | 2012-05-15 | 2012-05-15 | 查询处理 |
PCT/US2012/037938 WO2013172821A1 (fr) | 2012-05-15 | 2012-05-15 | Traitement de requête |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/037938 WO2013172821A1 (fr) | 2012-05-15 | 2012-05-15 | Traitement de requête |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013172821A1 true WO2013172821A1 (fr) | 2013-11-21 |
Family
ID=49584080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2012/037938 WO2013172821A1 (fr) | 2012-05-15 | 2012-05-15 | Traitement de requête |
Country Status (4)
Country | Link |
---|---|
US (1) | US10180960B2 (fr) |
EP (1) | EP2850537A4 (fr) |
CN (1) | CN104303176A (fr) |
WO (1) | WO2013172821A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10747763B2 (en) * | 2016-05-11 | 2020-08-18 | International Business Machines Corporation | Efficient multiple aggregation distinct processing |
WO2023278034A1 (fr) * | 2021-06-29 | 2023-01-05 | Microsoft Technology Licensing, Llc | Agrégation de données dans une hiérarchie pour l'exécution de requêtes |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11226985B2 (en) | 2015-12-15 | 2022-01-18 | Microsoft Technology Licensing, Llc | Replication of structured data records among partitioned data storage spaces |
US10235406B2 (en) * | 2015-12-15 | 2019-03-19 | Microsoft Technology Licensing, Llc | Reminder processing of structured data records among partitioned data storage spaces |
CN108628975B (zh) * | 2018-04-25 | 2020-08-21 | 上海达梦数据库有限公司 | 一种数据库sql语句优化方法及装置 |
CN111488368A (zh) * | 2020-03-31 | 2020-08-04 | 摩拜(北京)信息技术有限公司 | 数据查询方法、装置及电子设备 |
CN112487032A (zh) * | 2020-11-27 | 2021-03-12 | 北京三快在线科技有限公司 | 数据查询的方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095430A1 (en) * | 1999-12-30 | 2002-07-18 | Decode Genetics Ehf | SQL query generator utilizing matrix structures |
US6507835B1 (en) * | 2000-02-17 | 2003-01-14 | International Business Machines Corporation | Generating grouping queries using tensor representations |
US20040236735A1 (en) * | 2001-01-12 | 2004-11-25 | Microsoft Corporation | Database aggregation query result estimator |
US20090228433A1 (en) * | 2008-03-07 | 2009-09-10 | International Business Machines Corporation | System and method for multiple distinct aggregate queries |
US20100094829A1 (en) * | 2008-10-14 | 2010-04-15 | Castellanos Maria G | Database query profiler |
US20100257191A1 (en) * | 2009-04-03 | 2010-10-07 | Microsoft Corporation | Data parallel query analysis |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727196A (en) * | 1992-05-21 | 1998-03-10 | Borland International, Inc. | Optimized query interface for database management systems |
US6420526B1 (en) * | 1997-03-07 | 2002-07-16 | Human Genome Sciences, Inc. | 186 human secreted proteins |
US6112198A (en) * | 1997-06-30 | 2000-08-29 | International Business Machines Corporation | Optimization of data repartitioning during parallel query optimization |
US6212552B1 (en) * | 1998-01-15 | 2001-04-03 | At&T Corp. | Declarative message addressing |
US6240411B1 (en) * | 1998-06-15 | 2001-05-29 | Exchange Applications, Inc. | Integrating campaign management and data mining |
US6313375B1 (en) * | 1998-08-13 | 2001-11-06 | Pioneer Hi-Bred International, Inc. | Maize aquaporins and uses thereof |
US6395889B1 (en) * | 1999-09-09 | 2002-05-28 | Millennium Pharmaceuticals, Inc. | Nucleic acid molecules encoding human protease homologs |
US6430550B1 (en) | 1999-12-03 | 2002-08-06 | Oracle Corporation | Parallel distinct aggregates |
US6775682B1 (en) | 2002-02-26 | 2004-08-10 | Oracle International Corporation | Evaluation of rollups with distinct aggregates by using sequence of sorts and partitioning by measures |
US7149736B2 (en) | 2003-09-26 | 2006-12-12 | Microsoft Corporation | Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions |
US7725455B1 (en) | 2003-12-31 | 2010-05-25 | Teradata Us, Inc. | Computing aggregates on distinct attribute values |
CN1588358A (zh) * | 2004-08-26 | 2005-03-02 | 陈红 | 对mdx多维数据查询语句的处理方法和系统 |
US7933890B2 (en) * | 2006-03-31 | 2011-04-26 | Google Inc. | Propagating useful information among related web pages, such as web pages of a website |
DE102007042898A1 (de) * | 2007-06-08 | 2008-12-11 | Sms Demag Ag | Verfahren und Vorrichtung zur Walzenschmierung |
US9323807B2 (en) * | 2010-11-03 | 2016-04-26 | Sap Se | Graphical manipulation of data objects |
US9965514B2 (en) * | 2014-12-19 | 2018-05-08 | Software Ag Usa, Inc. | Techniques for real-time generation of temporal comparative and superlative analytics in natural language for real-time dynamic data analytics |
-
2012
- 2012-05-15 US US14/398,229 patent/US10180960B2/en active Active
- 2012-05-15 CN CN201280072765.5A patent/CN104303176A/zh active Pending
- 2012-05-15 EP EP12876711.8A patent/EP2850537A4/fr not_active Withdrawn
- 2012-05-15 WO PCT/US2012/037938 patent/WO2013172821A1/fr active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095430A1 (en) * | 1999-12-30 | 2002-07-18 | Decode Genetics Ehf | SQL query generator utilizing matrix structures |
US6507835B1 (en) * | 2000-02-17 | 2003-01-14 | International Business Machines Corporation | Generating grouping queries using tensor representations |
US20040236735A1 (en) * | 2001-01-12 | 2004-11-25 | Microsoft Corporation | Database aggregation query result estimator |
US20090228433A1 (en) * | 2008-03-07 | 2009-09-10 | International Business Machines Corporation | System and method for multiple distinct aggregate queries |
US20100094829A1 (en) * | 2008-10-14 | 2010-04-15 | Castellanos Maria G | Database query profiler |
US20100257191A1 (en) * | 2009-04-03 | 2010-10-07 | Microsoft Corporation | Data parallel query analysis |
Non-Patent Citations (1)
Title |
---|
See also references of EP2850537A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10747763B2 (en) * | 2016-05-11 | 2020-08-18 | International Business Machines Corporation | Efficient multiple aggregation distinct processing |
WO2023278034A1 (fr) * | 2021-06-29 | 2023-01-05 | Microsoft Technology Licensing, Llc | Agrégation de données dans une hiérarchie pour l'exécution de requêtes |
Also Published As
Publication number | Publication date |
---|---|
US10180960B2 (en) | 2019-01-15 |
CN104303176A (zh) | 2015-01-21 |
US20150088865A1 (en) | 2015-03-26 |
EP2850537A4 (fr) | 2015-09-23 |
EP2850537A1 (fr) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013172821A1 (fr) | Traitement de requête | |
Li et al. | Graph energy | |
US9152669B2 (en) | System and method for distributed SQL join processing in shared-nothing relational database clusters using stationary tables | |
US9524310B2 (en) | Processing of categorized product information | |
Mullesgaard et al. | Efficient skyline computation in MapReduce | |
CN106227894B (zh) | 一种数据分页查询方法和装置 | |
US9576026B2 (en) | System and method for distributed SQL join processing in shared-nothing relational database clusters using self directed data streams | |
Binev et al. | Fast high-dimensional approximation with sparse occupancy trees | |
CN108549690B (zh) | 基于空间距离约束的空间关键字查询方法及系统 | |
US20150310047A1 (en) | System and Method for Composing a Multidimensional Index Key in Data Blocks | |
CN105956161A (zh) | 一种信息推荐方法和装置 | |
CN104111936B (zh) | 数据查询方法和系统 | |
CN106874788B (zh) | 一种敏感数据发布中的隐私保护方法 | |
CN105589864A (zh) | 数据查询方法及装置 | |
CN102419741A (zh) | 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法 | |
CN106471501A (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
CN104376015B (zh) | 关系网络中节点的处理方法及装置 | |
Gutman et al. | Hypoenergetic molecular graphs | |
CN110175202B (zh) | 用于数据库的表的外连接的方法和系统 | |
CN106528490A (zh) | 一种fpga异构加速计算装置及系统 | |
CN107735781A (zh) | 存储查询结果的方法和装置、计算设备 | |
da Silva | Factoring semiprimes and possible implications for RSA | |
CN106909647A (zh) | 一种数据检索方法及装置 | |
CN108536824B (zh) | 一种数据处理方法及装置 | |
CN104636384B (zh) | 一种处理文档的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12876711 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012876711 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14398229 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |