LoadStartingWith在RavenDb中的性能
从理论上讲,我关心的是LoadStartingWith在RavenDb中的性能,ravendb,Ravendb,从理论上讲,我关心的是加载与性能的关系。让我们举一个例子: BlogPost[]前缀resultswithmatch=session.Advanced .LoadStartingWith(“blogposts/1”,“*/Author/*t”); 所以我们没有索引。这个“查询”直接进入商店。它如何有效地执行它(没有fullscan)?在RavenDb或存储(esent、Voron)级别是否有ID的内部索引?据我所知,Raven总是对文档ID进行索引 如果对没有任何查询参数的类型执行查询,Rav
加载与性能的关系。让我们举一个例子:
BlogPost[]前缀resultswithmatch=session.Advanced
.LoadStartingWith(“blogposts/1”,“*/Author/*t”);
所以我们没有索引。这个“查询”直接进入商店。它如何有效地执行它(没有fullscan)?在RavenDb或存储(esent、Voron)级别是否有ID的内部索引?据我所知,Raven总是对文档ID进行索引
如果对没有任何查询参数的类型执行查询,Raven不必创建自动索引,因为Raven已经知道指向实际文档的ID
这和不使用索引的“加载查询”是一样的 按照它的工作方式,我们有前缀和id的索引。
因此,我们只能扫描与您提供的前缀匹配的文档。
但是,我们必须将它们中的每一个与您拥有的过滤器相匹配
BlogPost[] prefixedResultsWithMatch = session.Advanced
.LoadStartingWith<BlogPost>("blogposts/1", "*/Author/*t");