Azure cosmosdb DocumentDB范围和哈希索引

Azure cosmosdb DocumentDB范围和哈希索引,azure-cosmosdb,Azure Cosmosdb,我需要进行以下搜索: SELECT*FROM root,其中root.parentPath='value' 及 SELECT*FROM root,其中STARTSWITH(root.parentPath,'value') 使用索引类型hash时,第一个查询运行得很快,第二个查询需要扫描,因此速度非常慢 索引类型为“range”时,第一个查询速度较慢,第二个查询速度较快 为了支持两个查询,我需要存储两次数据吗?当我再次尝试添加索引时,会出现以下错误为路径指定的重复索引 --编辑 我已将以下XML添

我需要进行以下搜索:

SELECT*FROM root,其中root.parentPath='value'

SELECT*FROM root,其中STARTSWITH(root.parentPath,'value')

使用索引类型
hash
时,第一个查询运行得很快,第二个查询需要扫描,因此速度非常慢

索引类型为“range”时,第一个查询速度较慢,第二个查询速度较快

为了支持两个查询,我需要存储两次数据吗?当我再次尝试添加索引时,会出现以下错误
为路径指定的重复索引

--编辑

我已将以下XML添加到索引的设置区域,它可以处理范围或散列,但不能同时处理两者

{
    "path": "/parentPath/?",
    "indexes": [
        {
            "kind": "Range",
            "dataType": "String",
            "precision": 3
        },
        {
            "kind": "Hash",
            "dataType": "String",
            "precision": 3
        },
        {
            "kind": "Range",
            "dataType": "Number",
            "precision": -1
        }
    ]
}

通常,哈希索引不应该比范围索引具有查询性能优势。在某些情况下,由于索引冲突,哈希索引似乎可以提高查询性能。这里的建议是对所有索引路径使用w/Range index和precision-1


若要检查查询是否存在索引冲突(索引利用率低),请根据本文检索查询执行指标:

能否共享您的索引脚本?@RafatSarosh updated,这是否是
门户问题
?不知道它是否可以通过脚本工作,周一可以尝试。看起来这是我的精度问题,使用范围索引进行搜索的性能是可以接受的(哈希为34.48,范围为36.92)。感谢您的输入,我责备复制和粘贴:)