sql >> データベース >  >> RDS >> Sqlserver

エンティティフレームワークは、コンパイルのたびに初めてロードするのが非常に遅い

    最初のクエリで、EFはモデルをコンパイルします。これほど大きなモデルの場合、これにはかなりの時間がかかる可能性があります。

    3つの提案があります:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/

    要約:

    1. キャッシュされたdbモデルストアの使用
    2. コンパイル済みのビューを生成する
    3. n-genを使用して、事前にコンパイルされたバージョンのentityframeworkを生成し、ジッティングを回避します

    また、ベンチマークを実行するときは、アプリケーションをリリースモードでコンパイルするようにします。

    別の解決策は、DBContextの分割を検討することです。 400エンティティはたくさんあり、小さいチャンクで作業する方が良いはずです。試したことはありませんが、モデルを1つずつ作成できると思います。つまり、1回の読み込みに15秒かかることはありません。 JulieLermanによるこの投稿を参照してくださいhttps://msdn.microsoft.com/en-us/magazine/jj883952.aspx



    1. PHPで2回の時間差を取得する

    2. Oracleで非稼働時間をなくす方法

    3. ナンバーシリーズジェネレータチャレンジソリューション–パート2

    4. Neo4j-Cypherを使用してノードを削除する