performance - 空数据库的 RavenDB 慢查询

标签 performance ravendb linqpad

删除数据文件夹后,我刚刚启动了一个新的 RavenDB 服务器。所以,我有一个空的数据库。我在 LinqPad 中运行了这个查询。第一次用了19秒,第二次用了13秒。为什么这在一个空数据库上会花费这么长时间?

Session.Query<PerformanceMetric>()
.Where(x => x.CreatedTime > new DateTime(2012, 4, 17, 15, 00, 00))
.OrderBy(x => x.ObjectType)
.OrderBy(x => x.CreatedTime)
.Take(1000)
.ToList().Dump();

注意:我第三次和第四次运行查询时,只用了 0.02 秒。是建立索引还是什么?

最佳答案

我最好的猜测是构建索引花费了时间。当你不提前创建索引时,RavenDB 仍然会让你查询随机的东西,它只会为你创建一个索引,如果你使用它足够多,它会保留它。

尝试提前创建索引,看看它是如何工作的。

可以在这里获得更多信息:http://ayende.com/blog/4667/ravens-dynamic-queries

关于performance - 空数据库的 RavenDB 慢查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197531/

相关文章:

Java vm 变慢,所有线程都忙于字符串操作

c# - RavenDB 获取新存储文档的 ID

linq - RavenDB:从多个博客索引博客文章标签

linqpad - 如何增加 LINQPad 中图形的限制?

linqpad - 在 Linqpad 中重新运行查询之间会保存什么状态?

Java : Creating chunks of List for processing

jquery - 如果多次使用 $(this) ,我应该在 jQuery 中缓存它吗?

linqpad - 我正在运行哪个 LINQPad?

WPF 应用程序行为取决于 Windows 用户访问级别

ravendb - 将 JSON 数据导入 RavenDB