我做了一個應用程序,我會用RavenDB查詢數據庫。我只在我的本地機器上使用它,所以我想從Raven.Server更改爲嵌入式客戶端。但是在使用嵌入式客戶端時,我注意到我的查詢時間非常高。嵌入RavenDB與Raven.Server
private static EmbeddableDocumentStore documentStore {get;組; }
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);
}
這是連接到數據庫。 這裏是我如何exectute我的查詢:
session.Advanced.DocumentStore.DatabaseCommands.Query("eBayItemIndexer", new Raven.Abstractions.Data.IndexQuery() { Query = RawQuery }, new string[] { "Id" });
現在,如果我用我的EmbeddedDocumentStore查詢時間爲:〜300毫秒。 如果我使用DocumentStore並連接到本地服務器,則我的查詢時間爲:4 - 10 ms。
我認爲嵌入式客戶端更快?我做錯了什麼,因爲300毫秒的查詢時間是很高的。
但我創建了我的永久索引(在void Connect()中) – Svexo