現在、RavenDB の静的インデックスをいくつか作成して、パフォーマンスを向上させたいと考えています。
しかし、RavenDB のドキュメントを読んでいるときに、私の本来の意図を本当に再考させられた特定の文が 1 つありました。
したがって、アプリケーション内のほとんどの操作を静的インデックスに基づいて行うか、少なくとも動的インデックス作成によって作成された一時インデックスが永続インデックスに昇格されていることを確認することをお勧めします。
私のソリューションは非常に大きく、必要なインデックスもわかりません。ソリューション全体を調べて、他のすべての操作に対して静的インデックスを作成する必要があります。大げさかもしれませんが、それでも... そのすべての作業がそれだけの価値があるかどうかはわかりません。
私の質問は:
一時インデックスが永続インデックスに昇格されたことを確認するにはどうすればよいですか?
編集:
私が学んだことは、一部のインデックスが永続的/静的な自動インデックスに昇格され、Raven サーバーを再起動しても失われないという事実です。私が理解したのは、それが Server に依存しているということConfiguration options
です。そのため、インデックスの一部が永続的に昇格され、再起動すると一時的なものだけが失われました。それでも私の疑問は残ります。
EDIT2:
元の質問を編集し、より多くの情報を収集しました。私を本当に愚かな人だと思ってください。説明が必要です。次のようなことで私を混同しないでください"permanent/static"
静的インデックスは永続的ですが、永続的インデックスは必ずしもそうではありませんstatic
。多分私は間違った質問をしています。RavenDb サーバーがクエリの呼び出しごとに新しい動的インデックスを作成する必要がないことを確認したいだけですが、実際には 1 分間に 100 回呼び出すことはありません。
RavenDB は、クエリを分析し、その場で一時的なインデックスを作成できます。これは、破棄される前にしばらくの間保持されます。
Ravendb サーバー構成オプションから私が理解したこと:
1 分間に 100 回 (デフォルト値) 使用すると、インデックスは永続的に昇格します。また、動的なままで 20 分間使用されていない場合は削除されます (デフォルト)。しかし、使用されるクエリがある場合は、 TempIndexPromotionMinimumQueryCount / 2 per TempIndexPromotionThresholdがわかりません。だから多分私の質問は今です:
常に使用されますが、動的インデックスと永続インデックスの間に大きな違いはありますか?