在某些情况下,我们考虑删除DELETE FROM measurement WHERE Tag1='val1' .... and time='...'
系列中的单个点。
我们可以看到它工作正常,并且删除后无法再获取积分。但是,有一件事困扰着我们,即documentation 中的音符“它不会从索引中删除序列”。。
我知道,如果我们删除带有DELETE的整个系列,那么索引将不会更新,但是最后这只会占用一些空间,不会以任何方式降低引擎速度。正确吗?
但是,当我们从不同系列中删除单个点时,我不确定如何理解这一点。这种方法是否存在任何隐患?索引最终将发生什么?引擎将来会降低速度吗?
任何评论,建议和建议都将受到高度赞赏!
答案 0 :(得分:1)
我相信它会做的是将该项目标记为已删除,而实际上并未将其删除。因此它仍然消耗磁盘,但不会显示在结果中。他们称此为“墓碑”,这与删除整个数据库,rp或度量实际上将删除该项目不同。
在InfluxDB运行后台压缩过程的给定时间后,它将清理逻辑删除。删除数据的理想方法是让保留策略生效并自动删除
答案 1 :(得分:0)
您可以将系列作为子测量/子表查看。如果您从其中删除数据点,即使您恰巧删除了所有数据点,该系列也会保留。 如果您删除该系列,则它会连同其中的所有数据点一起消失。
我想如果您以后要向该系列添加更多数据点(或者您只删除所有数据点的子集),则选择DELETE,否则选择DROP。