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)。感谢您的输入,我责备复制和粘贴:)