当前位置: 首页 > 知识库问答 >
问题:

Azure Cosmos DB(SQLAPI)中非常简单的查询的高请求费用

范浩宕
2023-03-14

在Azure Cosmos DB(SQL API)中,以下查询收费9356.66 RU:

SELECT * FROM Core c WHERE c.id = @id -- @id is a GUID

相比之下,以下更复杂的查询仅收费6.84 RU:

SELECT TOP 10 * FROM Core c WHERE c.type = "Agent"

这两个示例中的文档都非常小,具有一些属性。此外,文档集合不使用任何自定义索引策略。该集合包含105685文档。

对我来说,这听起来好像在“id”字段上没有正常工作的索引。

这怎么可能,怎么解决?

更新:

  • 如果没有 TOP 关键字,第二个查询将收取 3516.35 RU 的费用,并返回 100000 条记录。
  • 分区键为“/partition”,其值为 0 或 1(均匀分布)。

共有2个答案

闻人锦
2023-03-14

我假设解决方案与此处发布的相同:Azure DocumentDB通过Id查询非常慢

一旦我能够向Microsoft支持部门核实这一点,我将关闭我自己的问题。

柯学
2023-03-14

若您有分区集合,若您想最有效地执行请求,则需要指定分区键。跨分区查询在cosmos中非常昂贵(而且速度较慢),因为分区数据可以存储在不同的位置。

请尝试以下操作:

SELECT * FROM Core c WHERE c.id = @id AND c.partition = @partition

或者,如果使用的是宇宙数据库 SDK,请在源选项中指定分区键。

如果有帮助,请告诉我。

 类似资料:
  • 本文向大家介绍非常简单的Ajax请求实例附源码,包括了非常简单的Ajax请求实例附源码的使用技巧和注意事项,需要的朋友参考一下 Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。通过Ajax,您可以使用 JavaScript的XMLHttpRequest对象来直接与服务器进行通信。您可以在不重载页面的情况与 Web 服务器交换数据。在本文的例子中,我们将演

  • 问题内容: 我试图找到一个非常简单,流畅,轻巧的javascript或jquery字幕。我已经尝试过丝绸选框之类的东西,但不适用于我正在使用的应用程序。因此,越短越好,越好-并且越容易调试。有人知道字幕易于实现的JavaScript替换吗? 码 问题答案: 希望这对您有所帮助,加油! html jQuery代码

  • 问题内容: 我有一个疑问,就所有权利而言,它应该不会失败,而且我一生无法弄清楚为什么 当我尝试运行查询时,出现“ INSERT INTO语句中的语法错误”,其中“注释”字段突出显示。如果我忽略“注释”字段及其值,则查询工作正常。是否真的有明显的我想念的东西,或者这里是否藏有Jet SQL怪癖??? 它所作用的表是: ID – autonumber primary key Store – Text

  • 我对Jmeter非常陌生,正在逐步学习。 尝试在Jmeter和协议选项卡中创建简单的HTTP请求 - 我已经给出了“google.com”。 当我运行这个时,得到如下所述的错误: 响应代码 : 非 HTTP 响应代码 : 网址格式不正确 响应消息:非HTTP响应消息:未知协议:google.com 请帮我克服这个错误,成功通过测试。 最好的问候,戈文达拉扬G

  • 问题内容: 我的基础难题是我无法理解django模板,视图和url是如何捆绑在一起的……提示用户输入字符串,然后使用该字符串查询数据库的最简单,最简单的最小方法是什么(最好是w / python模型而不是原始sql查询)?我应该使用GET和POST方法吗?我应该使用表格吗?我需要使用模板还是可以使用通用视图? 当我尝试提交输入时,它只是重新加载了输入页面。 views.py: urls.py 模板

  • 问题内容: 我需要一个2D数组(作为Json)从服务器发送到客户端。尺寸大约为400x400,每个条目大约包含4个字符的文本。因此,这大约需要640KB的数据。 以下哪种极端方法更好? 我一次性提出了所有数据的大型HTTP请求。 我提出了400个请求-每个请求都要求一行(大约1.6 KB) 我认为最佳方法应该在中间。谁能告诉我这个数据的最佳单个请求大小是多少? 谢谢。 问题答案: 除非您处理的是慢