gpt4 book ai didi

c# - RavenDB Query 总是比加载

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:41 25 4
gpt4 key购买 nike

在RavenDB站点上,它说“知道文档ID时使用加载查询”。在我的大约1,500个对象的简单集合的测试中,负载始终较慢。为什么?

加载:

var doc = session.Load<Document>("Documents/123");


询问

var doc = session.Query<Document>().Where(x => x.Id == "123").SingleOrDefault();


在测试中,检索每个文档的平均查询时间为66毫秒,而Load的平均查询时间为137毫秒。 RavenDB实例位于另一个办公室,因此时间很长。不管负载不应该总是更快吗?

编辑

这是我指的是 http://ravendb.net/kb/31/my-10-tips-and-tricks-with-ravendb的声明。提示4。这是错的吗?

最佳答案

通过Id检索项目时,需要使用.Load(id)方法。

LoadACID兼容的操作。它直接从文档存储中检索文档。

Query是<最终>一致的BASE操作。它首先针对索引,在文档存储中找到文档,然后将其返回。如果只是添加了文档但尚未建立索引,则通过Id进行的查询可能会返回null。

RavenDB 2.0添加了一项功能,以防止您通过Id查询。如果尝试这样做,它将引发异常。因此,使用Load不仅是最佳实践,而且是一项要求。

关于c# - RavenDB Query <T>总是比加载<T>快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17483047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com