我经常需要选择分区表中的最后一行,直到某个时间。这就是我使用的:
select last A,last B,last C from mytable where date=2013.05.23,ts<10:30:00,A in (`Bob`Jane)
此查询可能会将所有`Bob`Jane行加载到10:30:00,然后返回最后一行。有没有更有效的方法在kdb中运行时间点查询?
我桌子的一些基准数据:
/select all data
\t t: select ...
1724i
count t
2225311i
\t select ... ts<15:00:00
2040i
\t select ... ts<12:00:00
1092i
\t select ... ts<10:00:00
521i
答案 0 :(得分:1)
答案 1 :(得分:1)
另一种选择是使用以下内容:
select A,B,C from mytable where date=2013.05.23,ts<10:30:00,A in (`Bob`Jane),i=last i
虽然我怀疑你现在的表现会有什么改善。
更重要的是表的类型(在内存中/展开/分区(包括它的分区方式))和使用的属性(如果有的话)。