MonetDB中最快的lead()或lag()窗口函数实现

时间:2016-03-23 18:29:53

标签: sql performance window-functions monetdb sqlperformance

我真的很惊讶MonetDB,一个基于分析列的数据库没有像lead()或lag()这样的分析函数。我真的需要它们来计算用户事件之间的时间。这些表很大(超过十亿行),我不想执行自联接。

有没有办法在MonetDB中模拟快速的lead()或lag()窗口函数?

1 个答案:

答案 0 :(得分:1)

两个操作员都假设您知道表中的行顺序。通常,关系系统可以自由地忽略插入/更新顺序。这就是它没有直接支持的原因。

如果您知道要在哪些列上实现超前/滞后,那么UDF确实是可行的方法。甚至可以用R或Python开发。 问候,马丁