作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一个关于数据获取方法的问题,
第一种方法:
假设我有两个文档
userdoc1
{
“status”:“pending”
“usertype”:“VIP”
“userid”:“123”
}
对于上面的文档,假设我的文档 ID 是 status::usertype [只是为了澄清,这个文档 ID 在我们的例子中是唯一的]
userdoc2
{
“userid”:“123”,
“fname”:“abc”,
“lname”:“xyz”,
“age”:20;
“address”:“asdf”
}
对于 userdoc2,假设 userid 是我的 documentid
如果我做一个get操作我会这样进行(这里的想法是根据文档id获取数据)
select userid from userdoc1 with key “pending::VIP”;
然后
select * from userdoc2 with key “123”;
第二种方法:
我只有一个文件
userdoc
{
“status”:“pending”
“usertype”:“VIP”
“userid”:“123”
“fname”:“abc”,
“lname”:“xyz”,
“age”:20;
“address”:“asdf”
}
这里,documentid 是“status::usertype”我们在 userid 上有二级索引
这里如果这样取数据(这里的思路是根据二级索引取数据):
select * from userdoc where userd=“123”;
您能否解释一下假设集群中有 100 个节点的高数据负载以及 XDCR 和其他因素哪种方法将提供高读取性能?
最佳答案
选项 1 将有两次从客户端到服务器的往返以运行两个廉价查询。选项 2 将有一次从客户端到服务器的往返,以运行一个稍微昂贵的查询。
如果不进行测量我就不能完全自信,但我会把钱押在选项 2 上。往返费用可能是个问题。
请确保为选项 2 使用正确的用户 ID 索引,并使用以用户 ID 作为参数的准备好的查询。这应该是最快的选择。
关于沙发底座内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54559952/
您对在 Heroku 上使用 Iriscouch 或 Cloudant 有任何经验/想法吗? 您是否必须使用 Cloudant(因为它是作为附加组件提供的)? 有什么优点/缺点? 我正在开发一个包含大
我是一名优秀的程序员,十分优秀!