Reorganizing Queries with Grouping
Mon 16 Nov 2020 01:40 - 02:00 at SPLASH-III - Chair(s): Ralf Laemmel
Language-integrated query has attracted much attention from researchers and engineers. It enables one to write a database query with high-level abstractions, which makes it possible to compose, iterate, and reuse queries. An important issue in language-integrated query is the N+1 query problem, and Cheney et al. proposed a program-transformation approach to solve it for a core language of Microsoft’s LINQ. In our previous work, we extended their language to grouping (GROUP BY in SQL) and aggregate functions, and showed that any term can be transformed to a single SQL query. It still has a problem in that the resulting queries may be unnecessarily large and inefficient.
This paper solves the problem. Our key idea is re-organization of queries with nested control structures. While our previous work decomposes grouping into finer primitives before transformation, the new algorithm fuses nested control structures after transformation, while keeping the absence of nested data structures. Our algorithm also eliminates correlated subqueries as much as possible, to obtain better performance. We have conducted performance measurements, which shows that our new algorithm reduces the size of generated queries and improves the performance for several examples.
Sun 15 NovDisplayed time zone: Central Time (US & Canada) change
13:00 - 14:20 | |||
13:00 20mTalk | Multi-stage Programming in the Large with Staged Classes GPCE Link to publication DOI Media Attached | ||
13:20 20mTalk | Software Language Engineers’ Worst Nightmare SLE Vadim Zaytsev University of Twente, Netherlands Link to publication DOI Pre-print Media Attached | ||
13:40 20mTalk | Reorganizing Queries with Grouping GPCE Link to publication DOI Media Attached | ||
14:00 20mTalk | Principles and Patterns of JastAdd-Style Reference Attribute Grammars SLE Link to publication DOI Media Attached |
Mon 16 NovDisplayed time zone: Central Time (US & Canada) change
01:00 - 02:20 | |||
01:00 20mTalk | Multi-stage Programming in the Large with Staged Classes GPCE Link to publication DOI Media Attached | ||
01:20 20mTalk | Software Language Engineers’ Worst Nightmare SLE Vadim Zaytsev University of Twente, Netherlands Link to publication DOI Pre-print Media Attached | ||
01:40 20mTalk | Reorganizing Queries with Grouping GPCE Link to publication DOI Media Attached | ||
02:00 20mTalk | Principles and Patterns of JastAdd-Style Reference Attribute Grammars SLE Link to publication DOI Media Attached |