我制作了一个应用程序,可以在其中使用 RavenDB 查询数据库。我只在我的本地机器上使用它,所以我想从 Raven.Server 更改为 Embedded 客户端。但是我注意到使用嵌入式客户端时我的查询时间太长了。
私有静态 EmbeddableDocumentStore 文档存储 { 获取;放; }
public static void Connect()
{
documentStore = new EmbeddableDocumentStore() {/* Url = "http://" + Properties.Settings.Default.DatabaseHost + ":" + Properties.Settings.Default.DatabasePort */ DataDirectory = "Data"};
documentStore.Initialize();
IndexCreation.CreateIndexes(typeof(eBayItemIndexer).Assembly, documentStore);
IndexCreation.CreateIndexes(typeof(RemoveIndexer).Assembly, documentStore);
}
这是为了连接到数据库。这是我执行查询的方式:
session.Advanced.DocumentStore.DatabaseCommands.Query("eBayItemIndexer", new Raven.Abstractions.Data.IndexQuery() { Query = RawQuery }, new string[] { "Id" });
现在,如果我使用 EmbeddedDocumentStore,我的查询时间是:~300 毫秒。如果我使用 DocumentStore 并连接到本地服务器,我的查询时间是:4 - 10 毫秒。
我认为嵌入式客户端更快?我是不是做错了什么,因为 300 毫秒的查询时间太长了。