返回
摘要
En 中文
关系型DBMS允许用户通过实现自定义行为的用户自定义函数(UDFs)来扩展标准声明式SQL语言。尽管UDFs提供了许多优势,但实践者普遍知道它们可能导致查询性能严重下降。这种下降是由于最先进的查询优化器将UDFs视为黑盒,并在优化过程中不对其进行分析。
我们展示了Froid框架,通过打开这个黑盒并向查询优化器暴露其底层操作来优化UDFs。它通过将命令式多语句UDF的整个函数体系统性地翻译成单个关系代数表达式来实现这一点。因此,任何调用此UDF的查询都被转换为一个嵌套子查询,该子查询在语义上等价于UDF。我们随后利用现有的子查询优化技术,从而获得高效的、集合导向的并行查询计划,而不是低效的、迭代的、串行执行UDFs。
我们展示了Froid的优势,包括在实际工作负载上性能提升高达多个数量级。Froid作为Microsoft SQL Server 2019中的一个名为“标量UDF内联”的功能提供。
期刊
暂无期刊信息
机构
暂无机构信息
引用论文
暂无论文信息

