【发布时间】:2019-08-08 11:55:35
【问题描述】:
我有一桶 50k 条记录在生产中。我应该为所有文档添加一个新属性。为此,我正在通过 Web 控制台查询工作台执行以下查询。
select count(*) from my-bucket where orderType is missing; --50k 记录
update my-bucket set orderType = “MY_ORDER” where orderType is missing;——突变=49950
问题 1:Couchbase 没有选择我所有的文档进行突变。
问题 2:更新后,当我再次尝试查找 缺少新属性的文档,继续计数 增加。
select count( * ) from my-bucket where orderType is missing; --100 条记录
select count( * ) from my-bucket where orderType is missing; --200 条记录
select count( * ) from my-bucket where orderType is missing; --350 条记录
谁能解释一下这个问题的原因以及解决方法。我们在实时生产环境中运行这些查询。
Couchbase 服务器版本:社区版 5.1
【问题讨论】:
-
这里有一个愚蠢的问题,文档不是在增加,因为您还没有在生产环境中部署具有此新属性的应用程序的新版本吗?
-
没有。整个时间桶的总数保持不变。
-
此外,此问题已自行解决。我们唯一可能的解释是,一些作业在后台运行,这个问题是由于并发修改造成的。
-
在社区版中,N1QL 引擎是单线程的,因此该 UPDATE 语句可能需要一些时间才能完成。
标签: couchbase