This website is under development. If you come accross any issues, please report them to Konstantinos Kanellis
(kkanellis@cs.wisc.edu) or Yannis Chronis
(chronis@google.com).
Compiling PL/SQL Away
Abstract
“PL/SQL functions are slow,” is common developer wisdom that derives from the tension between set-oriented SQL evaluation and statement-by-statement PL/SQL interpretation. We pursue the radical approach of compiling PL/SQL away, turning interpreted functions into regular subqueries that can then be efficiently evaluated together with their embracing SQL query, avoiding any PL/SQL ↔ SQL context switches. Input PL/SQL functions may exhibit arbitrary control flow. Iteration, in particular, is compiled into SQLlevel recursion. RDBMSs across the board reward this compilation effort with significant run time savings that render established developer lore questionable.
Citation
@inproceedings{cidr/2020/1-duta-cidr20,
author = {Christian Duta and
Denis Hirn and
Torsten Grust},
title = {Compiling PL/SQL Away},
booktitle = {Proceedings of the 10th Conference on Innovative Data Systems Research, CIDR 2020},
publisher = {www.cidrdb.org},
year = {2020},
series = {CIDR 2020},
url = {https://cidr.org/temp-website/papers/2020/p1-duta-cidr20.pdf},
location = {Amsterdam, The Netherlands}
}