【问题标题】:How to delete rows selectively from a kdb partitioned database?如何从 kdb 分区数据库中选择性地删除行?
【发布时间】:2013-06-17 12:17:13
【问题描述】:

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

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

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

【问题讨论】:

    标签: kdb


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多