我想从分区数据库表中删除一些行,但这个查询不起作用:
delete from myPartTable where date=2013.05.30,col1<>"A"
我宁愿不将整个表加载到内存中,从rdb中删除,然后写回磁盘。我可以直接从磁盘表中删除吗?
答案 0 :(得分:3)
kdb本身并不提供一种操作分区表的简单方法。两个选项:
要减少内存使用量,请获取要删除的行的索引。 按列进行并删除。 这是减少分区数据库操作的内存使用量的标准做法。
维护一个标记是否删除该行的列,根据需要更新该布尔值以标记删除。这样可以更快地删除,但代价是减慢每个必须过滤未删除位置的选择。稍后,实际删除行。