Proceedings Article10.1145/2882903.2882926
Extracting Equivalent SQL from Imperative Code in Database Applications
K. Venkatesh Emani,Karthik Ramachandra,Subhro Bhattacharya,Sundararajarao Sudarshan +3 more
- 26 Jun 2016
- pp 1781-1796
45
TL;DR: This paper presents an approach to extracting a concise algebraic representation of (parts of) an application, which may include imperative code as well as SQL queries, which can be translated into SQL to improve application performance.
read more
Abstract: Optimizing the performance of database applications is an area of practical importance, and has received significant attention in recent years. In this paper we present an approach to this problem which is based on extracting a concise algebraic representation of (parts of) an application, which may include imperative code as well as SQL queries. The algebraic representation can then be translated into SQL to improve application performance, by reducing the volume of data transferred, as well as reducing latency by minimizing the number of network round trips. Our techniques can be used for performing optimizations of database applications that techniques proposed earlier cannot perform. The algebraic representations can also be used for other purposes such as extracting equivalent queries for keyword search on form results. Our experiments indicate that the techniques we present are widely applicable to real world database applications, in terms of successfully extracting algebraic representations of application behavior, as well as in terms of providing performance benefits when used for optimization.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Understanding Database Performance Inefficiencies in Real-world Web Applications
Cong Yan,Alvin Cheung,Junwen Yang,Shan Lu +3 more
- 06 Nov 2017
TL;DR: This study studied 27 real-world open-source applications built on top of the popular Ruby on Rails ORM framework to understand the database-related performance inefficiencies and suggested techniques to alleviate these issues and measured the potential performance gain.
58
Froid: optimization of imperative programs in a relational database
Karthik Ramachandra,Kwanghyun Park,K. Venkatesh Emani,Alan Halverson,Cesar A. Galindo-Legaria,Conor Cunningham +5 more
- 01 Dec 2017
TL;DR: Froid as mentioned in this paper is an extensible framework for optimizing imperative programs in relational databases, which automatically transforms entire UDFs into relational algebraic expressions, and embeds them into the calling SQL query.
SQLCheck: Automated Detection and Diagnosis of SQL Anti-Patterns
TL;DR: SQLCheck as discussed by the authors is a holistic toolchain for automatically finding and fixing anti-patterns in database applications and suggests alternative queries and changes to the database design to fix these antipatterns.
22
DBridge: Translating Imperative Code to SQL
K. Venkatesh Emani,Tejas Deshpande,Karthik Ramachandra,Sundararajarao Sudarshan +3 more
- 09 May 2017
TL;DR: This work incorporated a new suite of optimization techniques into DBridge by identifying relational operations expressed in imperative code, and translating them into SQL, and shows the performance gains achieved by employing the system on real world applications that use JDBC or Hibernate.
21
Procedural extensions of SQL: understanding their usage in the wild
Surabhi Gupta,Karthik Ramachandra +1 more
- 01 Apr 2021
TL;DR: Procedural extensions of SQL have been in existence for many decades now as discussed by the authors, however, little is known about their magnitude of usage and their complexity in real-world workloads. Procedural code execu...
References
•Book
Compilers: Principles, Techniques, and Tools
Alfred V. Aho,Ravi Sethi,Jeffrey D. Ullman +2 more
- 01 Jan 1986
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
9.7K
•Book
Advanced Compiler Design and Implementation
Steven S. Muchnick
- 01 Jan 1997
TL;DR: Advanced Compiler Design and Implementation by Steven Muchnick Preface to Advanced Topics
2.6K
A Survey of Program Slicing Techniques.
Frank Tip
- 31 Jul 1994
TL;DR: An overview of the applications of program slicing, which include debugging, program integration, dataflow testing, and software maintenance is presented, including the various general approaches used to compute slices.
Combinatorial sketching for finite programs
Armando Solar-Lezama,Liviu Tancau,Rastislav Bodik,Sanjit A. Seshia,Vijay Saraswat +4 more
- 20 Oct 2006
TL;DR: SKETCH is a language for finite programs with linguistic support for sketching and its combinatorial synthesizer is complete for the class of finite programs, guaranteed to complete any sketch in theory, and in practice has scaled to realistic programming problems.
The Volcano optimizer generator: extensibility and efficient search
Goetz Graefe,William J. McKenna +1 more
- 19 Apr 1993
TL;DR: The Volcano project, which provides efficient, extensible tools for query and request processing, particularly for object-oriented and scientific database systems, is reviewed, and it is shown that the search engine of the Volcano optimizer generator is more extensible and powerful.
Related Papers (5)
Cosmin Radoi,Stephen J. Fink,Rodric Rabbah,Manu Sridharan +3 more
- 15 Oct 2014
Steven S. Muchnick
- 01 Jan 1997