【发布时间】:2013-05-29 15:32:05
【问题描述】:
我经常需要选择分区表中的最后一行,直到某个时间。这是我使用的:
select last A,last B,last C from mytable where date=2013.05.23,ts<10:30:00,A in (`Bob`Jane)
此查询可能会在 10:30:00 之前加载所有 `Bob`Jane 行,然后返回最后一行。有没有更有效的方法在 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
【问题讨论】:
-
where子句不应返回所有行;在最坏的情况下,它应该只生成有效索引列表。您是否看到此查询与您的预期相比出现了明显的放缓?无论如何,这张表的结构如何?这一切都在记忆中吗?张开?分区了吗? -
@chrisaycock 为问题添加了更多信息。
标签: kdb