如何从kdb分区数据库中有选择地删除行?

时间:2013-06-17 12:17:14

标签: kdb

我想从分区数据库表中删除一些行,但这个查询不起作用:

delete from myPartTable where date=2013.05.30,col1<>"A"

我宁愿不将整个表加载到内存中,从rdb中删除,然后写回磁盘。我可以直接从磁盘表中删除吗?

1 个答案:

答案 0 :(得分:3)

kdb本身并不提供一种操作分区表的简单方法。两个选项:

  1. 要减少内存使用量,请获取要删除的行的索引。 按列进行并删除。 这是减少分区数据库操作的内存使用量的标准做法。

  2. 维护一个标记是否删除该行的列,根据需要更新该布尔值以标记删除。这样可以更快地删除,但代价是减慢每个必须过滤未删除位置的选择。稍后,实际删除行。