定值字符串的Cosmosdb索引精度

时间:2018-11-20 00:33:35

标签: indexing azure-cosmosdb

我想索引一个集合中的字段,该字段的值只能是4个字符长

{ "field": "abcd" }

我可以使用如下所示的精度为4的索引来节省RU时没有任何副作用吗?

"indexes": [ { "kind": "Range", "dataType": "String", "precision": 4 }, ]

2 个答案:

答案 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/

2。https://medium.com/@thomasweiss_io/how-i-learned-to-stop-worrying-and-love-cosmos-dbs-request-units-92c68c62c938