- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于 Pageable< T >
的问题在 C# 中。我在 Azure 命名域中有表存储。我正在使用 Azure.Data.Tables nuget 包,并查询我正在使用的所有域:
var domains = _localDomainTableClient
.Query<Domain>()
.AsPages()
.SelectMany(d => d.Values);
但我不明白一些事情。如果我使用 Query< T > 而不使用 AsPages 方法会怎样?
IEnumerable<Domain> domainsPAges = tableClient.Query<Domain>();
我知道AsPages()
返回页面集合。例如,如果表中有 10000 个项目,Query<Domain>().AsPages()
应该向表发出 10 个请求,并返回 10 页,每页包含 1000 个项目(除非我更改了默认值),但我不明白如果我不使用 AsPages() ?
到底会发生什么
示例:
IEnumerable<Domain> domainsPAges = tableClient.Query<Domain>();
Query<Domain>()
返回Pageble< T >
但是,它会再次向表发出 10 个请求,还是会获取所有元素直到内存溢出(默认情况下为 4 MB),还是一次获取所有元素?
我检查documentation ,但我找不到我需要的东西。
A collection of values that may take multiple service requests to iterate over.
A collection of values retrieved in pages
这到底是什么意思?
感谢您的帮助。
最佳答案
How many requests Query will make, if AsPages() is not used?
在 C# 中,查询方法是 Azure Cosmos DB SDK 的一部分。
Query<T>
方法将在对数据库的单个请求中检索所有匹配结果。此行为称为单分区查询。
如果查询涉及多个分区,则 Query 方法将发出多个请求来检索所有匹配的结果。确切的请求数量取决于涉及的分区数量和结果集的大小。
如果AsPages()
不使用方法,那么查询结果将作为单个可枚举对象返回。如果AsPages()
使用方法时,查询结果将作为页面序列返回,每个页面包含查询结果的子集。在这种情况下,发出的请求数量将取决于每个页面的大小以及符合查询条件的结果总数。
What if i use Query< T > without AsPages method
在 C# 中,如果使用 Query<T>
如果没有 AsPages 方法,您将一次性收到所有查询结果。
Query<T>
方法返回一个表示查询结果的 IEnumerable。如果不使用AsPages,整个结果集将立即加载到内存中。这会导致内存使用率较高,并且性能可能会下降,因为它会消耗大量内存。
AsPages 方法还使您能够以更有效的方式检索结果。它允许您以较小的批处理或页面检索结果,这有助于减少内存使用并提高性能。 AsPages 方法返回 IAsyncEnumerable<Page<T>>
,其中每个页面代表一页结果。
Query() return Pageble< T > but, does it make 10 requests to the table again or does it take all the elements until the memory overflows (4 MB by default) or take all the elements at once?
Query() 的行为取决于方法的实现和底层数据库系统。
当您执行返回可分页结果的查询时,数据库将执行查询并根据页面大小和当前页码仅将结果的子集返回给应用程序。其余结果将在后续页面的后续请求中检索。
所以如果你打电话Query<Domain>()
对于特定的页面大小,它只会检索该页面大小中指定的元素数量,而不是表中的所有元素。
对表发出的请求数量取决于返回所有查询结果所需检索的页面数量。
用于存储检索结果的内存将取决于检索对象的大小以及每个页面中检索对象的数量。使用可分页结果时,通常会限制返回对象的大小以减少内存使用量,因此内存使用量不太可能超过默认的 4 MB 限制。
有关更多信息,请参阅此 Query table entities和 SO Thread.
关于c# - 如果不使用 AsPages(),TableClient.Query<T> 将发出多少个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75468105/
我有一个发出值的 Observable 源 source1,如果它没有发出任何东西超过 2 秒,我想切换到后备源 source2。如果 source1 再次发射,我想从中发射。依此类推,无限期。 到目
我正在使用 postfix 发送电子邮件。当我将电子邮件发送到其他域时它工作正常,但是当我将电子邮件发送到配置后修复的同一个域时它不发送电子邮件。 下面是我的配置: myhostname = [FQD
我最近将 ipython 和 pandas 更新为最新的稳定版本。它导致 matplotlib 中出现了一些奇怪的行为,如果我从终端运行(以前的行为)脚本,我将无法显示数字。如果我在 ipython
我的应用程序是一个网络应用程序。它的工作是接收我想将它们作为信号发出的数据包流(QByteArray)。这样做会不会效率低下?我关心复制大缓冲区。 最佳答案 QByteArray 使用 Copy-on
有 QTableWidget。我需要发送带有行列和文本的 cellChanged 信号。我怎样才能做到这一点? —— 我已经用插槽连接了信号。我需要发送 信号。 最佳答案 您必须使用 connect
我编写了一个简单的玩具语言编译器前端,它使用 llvm-sys 生成 LLVM IR (LLVM 的 C library 的 Rust 绑定(bind))。然后我通过创建 LLVMTargetMach
我想知道如何像那里描述的那样发出 HTTP POST 请求 http://code.google.com/apis/documents/docs/3.0/developers_guide_protoc
简单的问题。我需要在 GWT 中发出一个重定向到新页面的 GET 请求,但我找不到正确的 API。 有吗?我应该自己简单地形成 URL 然后做 Window.Location.replace ? (原
我正在使用 paging3我有两个不同的寻呼源。问题是Coroutine Scope只发出第一个寻呼流 在 ViewModel我有两个分页流程 val pagingFlow1 = Pager(Pagi
docker doc 中没有任何解释,也没有 docker 中看似任何内置变量来查找构建图像的原始工作目录。 我想在不同的目录上运行命令,并在某个时候回到我启动 docker build 的位置。 我
我试图使一个puppeteer.js机器人能够暂停并恢复其工作。 总的来说,我有一个带有十几个异步方法的类,事件发射器和一个名为“state”的属性,该属性使用setter进行更改。当我发生事件“停止
这个问题已经有答案了: Is it possible to send custom headers with an XHR ("Ajax" request)? (1 个回答) 已关闭 4 年前。 我想
如果浏览器打开与远程服务器的连接,是否可以通过 Javascript 访问同一连接? 我的网络上有一个小型以太网模块,我的编程有点像这样(伪代码): private var socket while(
尝试发出 HTTP 请求时,出现错误: {-# LANGUAGE OverloadedStrings #-} import Network.HTTP.Conduit -- the main modul
我有这个异步任务: public class likeTheJoke extends AsyncTask{ @Override protected Void doInBa
当进程终止并为其发出 wait() 时会发生什么?当一个子进程终止但没有人为其执行 wait() 时会发生什么?如果对尚未终止的进程执行 wait() 会发生什么情况? 最佳答案 如果我误解了这些问题
我尝试使用以下小部件结构、信号连接和回调将与 GtkTextView 支持的击键相关的信号(CTRL+a、CTRL+x 等)附加到工具栏按钮: typedef struct { GtkWidg
我有以下 base64 编码的字符串,我需要使用 Swift 对它进行 base64 解码: KimHser2RvFf9RPjajWO4K/odT51hTlISwMKNIfPUC+gXYZKNjGDC
我正在使用 Facebook Messenger webview 显示表单,在提交时,我想将消息发送回用户并关闭 webview。我现在的问题是 webview/浏览器没有发送消息就关闭了。我不知道这
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我是一名优秀的程序员,十分优秀!