我想索引一个集合中的字段,该字段的值只能是4个字符长
{ "field": "abcd" }
我可以使用如下所示的精度为4的索引来节省RU时没有任何副作用吗?
"indexes": [
{
"kind": "Range",
"dataType": "String",
"precision": 4
},
]
答案 0 :(得分:1)
对于范围索引,索引项的长度永远不会超过实际的字符串长度。因此,如果您所有的字符串都为4个字符长,则不会产生任何影响(无论是正数还是负数)。但是,最好将精度设置为-1,这样将来在字符串长度发生变化的情况下我们就不必更改索引策略。
答案 1 :(得分:0)
基于此official statement,索引精度的选择可能会影响字符串范围查询的性能。显然,没有关于 效果像哈希类型索引。因此,我建议您改为根据模拟数据进行实际测试,以便也许可以找到真相。
顺便说一句,如果要对字符串属性执行ORDER BY
查询,则必须为相应的路径指定精度-1
。
还有更多有关保存RU的文档供您参考。
1。https://lbadri.wordpress.com/2018/04/07/is-azure-cosmos-db-really-expensive/