"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 to SQL context switches. Input PL/SQL functions may exhibit arbitrary control flow. Iteration, in particular, is compiled into SQL-level recursion. RDBMSs across the board reward this compilation effort with significant run time savings that render established developer lore questionable.


翻译:“PL/SQL 函数缓慢” 是来自设定方向的 SQL 评价和声明、PL/SQL 解释之间紧张关系的常见开发者智慧。 我们采取激进的做法,将PL/SQL 编辑为废版,将解释的功能转换为常规子查询,然后与接受SQL 查询一起进行高效评估,避免任何PL/SQL 到 SQL 上下文开关。输入PL/SQL 函数可能显示任意的控制流程。 输入PL/SQL 函数尤其被汇编为SQL 级的循环。

0
下载
关闭预览

相关内容

PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库 对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言
因果图,Causal Graphs,52页ppt
专知会员服务
246+阅读 · 2020年4月19日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
ICLR2019最佳论文出炉
专知
12+阅读 · 2019年5月6日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
计算机类 | ISCC 2019等国际会议信息9条
Call4Papers
5+阅读 · 2018年12月25日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
【推荐】直接未来预测:增强学习监督学习
机器学习研究会
6+阅读 · 2017年11月24日
Arxiv
4+阅读 · 2019年12月2日
The Measure of Intelligence
Arxiv
6+阅读 · 2019年11月5日
Learning to Importance Sample in Primary Sample Space
Few Shot Learning with Simplex
Arxiv
5+阅读 · 2018年7月27日
Arxiv
4+阅读 · 2018年1月15日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
ICLR2019最佳论文出炉
专知
12+阅读 · 2019年5月6日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
计算机类 | ISCC 2019等国际会议信息9条
Call4Papers
5+阅读 · 2018年12月25日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
【推荐】直接未来预测:增强学习监督学习
机器学习研究会
6+阅读 · 2017年11月24日
相关论文
Arxiv
4+阅读 · 2019年12月2日
The Measure of Intelligence
Arxiv
6+阅读 · 2019年11月5日
Learning to Importance Sample in Primary Sample Space
Few Shot Learning with Simplex
Arxiv
5+阅读 · 2018年7月27日
Arxiv
4+阅读 · 2018年1月15日
Arxiv
27+阅读 · 2017年12月6日
Top
微信扫码咨询专知VIP会员