azure-cosmosdb - 如何选择索引键,我们是否应该考虑来自 GROUPBY 的键也与 WHERE 键或仅与 WHERE 键一起使用?
问题描述
假设文档示例模式
{
"wherek1":"",
"pk":""
"groubby1":"",
"groupby2":"",
"count": 0
}
假设选择查询
SELECT SUM(f.count) as outCount FROM TEST f WHERE f.pk='testk' and f.wherek1='hi' GROUP BY f.groubby1, f.groubby2
对于上面的查询字段应该被索引的是
> pk/*
> wherek1/*
> groubby1/*
> groubby2/*
我的理解正确吗?
谢谢
解决方案
按属性添加分组不会产生任何好处。只有那些在 where、order by 或 join 子句中使用的属性才能看到被索引的好处。
要记住的一件事是,在 group by 中使用的属性上具有高基数的容器可能会变得昂贵。如果您计划经常运行这样的查询,您可能需要考虑使用 Change Feed 构建物化视图。
一些可能有用的链接。
谢谢。
推荐阅读
- firefox - Firefox - ReferenceError:PaymentRequest 未定义
- javascript - 无法安装 npm 包和依赖项
- deep-learning - 如何估计神经网络的在线训练复杂度?
- regex - 使用正则表达式获取参数
- anylogic - 将 if-else 函数连接到数据库以获取用于存储托盘类型的不同 id
- python - 如何使用 SqlAlchemy 和烧瓶显示新闻和查询类别?
- python - 如何在 django 中对对象数组进行排序?
- php - 如何在打开 phpmyadmin 时摆脱 Xampp 中的错误
- linux - 什么是仅在字符串中打印或提取文件的大写字符和日期时间的命令
- javascript - redux 请求失败,状态码为 400(错误请求)