在 MonetDB 中最快实现lead() 或 lag() 窗口函数
Posted
技术标签:
【中文标题】在 MonetDB 中最快实现lead() 或 lag() 窗口函数【英文标题】:Fastest implementation of lead() or lag() window functions in MonetDB 【发布时间】:2016-03-23 18:29:52 【问题描述】:我真的很惊讶 MonetDB,基于分析列的 DB 没有像 Lead() 或 lag() 这样的分析函数。我真的需要他们计算用户事件之间的时间。这些表很大(超过十亿行),我不想执行自联接。
有什么方法可以模拟 MonetDB 中的 fast lead() 或 lag() 窗口函数?
【问题讨论】:
可以是用户定义的函数吗?如果是这样,它会多快? 【参考方案1】:这两个运算符都假定您了解表中的行顺序。通常,关系系统可以随意违反插入/更新顺序。这就是为什么不直接支持它的原因。
如果您知道要在哪些列上实现领先/滞后,那么 UDF 确实是可行的方法。这甚至可以用 R 或 Python 开发。 问候,马丁
【讨论】:
以上是关于在 MonetDB 中最快实现lead() 或 lag() 窗口函数的主要内容,如果未能解决你的问题,请参考以下文章