SQLServerCEデータベースからの最初のクエリの実行に大きな問題があります。
私はすでにこの最適化パフォーマンスとEntityFrameworkを適用しましたが、それでも最初のクエリが15 sec
実行されようとしています。
アプリケーションを初めて実行したときに気付いたのは、最初のクエリの実行に約15秒かかることです。
アプリケーションを閉じて再度実行すると、最初のクエリがすぐに実行されます。したがって、PCを再起動してアプリケーションを再度実行すると、最初のクエリの実行に15秒かかります。
全体として、インターネットで2週間調査した後、問題を解決するための良い方法を見つけることができませんでした。
ANTS Performance Profilerを使用しましたが、最初のクエリに約11秒かかり、各ページのフォームの初期化に初めて4秒かかることに気付きました。
いくつか質問があります:
- アプリケーションの起動時にRamにロードされたリソースを知りたいですか?
- なぜ私のアプリケーションは2回目の実行で高速ですか?
- アプリケーションを開始する前に、これらのリソースをRamにロードするにはどうすればよいですか?
- Windowsが再起動するまでこれらのリソースがRAMに残るのはなぜですか?
15秒で十分かもしれませんが、DVDからアプリケーションを実行すると、最初のクエリを実行するのに45秒かかります。
編集済み
アプリケーションのセクションごとに複数のデータベースを使用しました。
たとえば、このクエリはフォームを最初に実行するのに11秒かかります。
public void GetContent(short SubjectID)
{
new QuranOtherEntities(CDataBase.CSQuranOtherEntities))
{
CHtmlDesign.HtmlFile = QODB.AdabTbls.First(data => data.ID == SubjectID).Content;
}
}
テーブル構造