この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
ストアドプロシージャは高速で実行される一方で、プログラム呼び出しの実行が遅いという問題を解決します。
眺める:
22757
|
答える:
0
[出典]
ストアドプロシージャは高速で実行される一方で、プログラム呼び出しは遅くなる問題を解決します
[リンクをコピー]
クズども
掲載地 2018/05/21 13:55:48
|
|
|
ここ2日間、非常にフラストレーションの溜まる問題に直面しました。SQL Server 2012のクエリアナライザーで約120行のストアドプロシージャが実行されているのです。
速度は非常に理想的で、約500件のデータレコードを1秒以内にフィルタリング・取得できます。
しかし、C#プログラムコードで呼び出すと接続タイムアウトが促されます。 CommandTimeoutを300に設定すると、表示までに約3分かかります。
コードを何度も確認しましたが、エラーは見つかりませんでした。 問題は残ります。
原因分析:
1. クエリアナライザーの実行速度が速く、データ量が少ない場合。
2. プログラムの呼び出しだけが遅い。
3. CommandTimeoutパラメータを設定すると結果が表示されますが、時間がかかります。
まとめると、問題はC#コードにあると予備的に結論づけられます。 しかし、検査後に得られるものはありませんでした。
百度でこの情報を確認してください。
ついにCSDNフォーラムで似たような情報投稿を見つけました。 あるネットユーザーは返信で「実施計画が期限切れになっている可能性がある」と述べました。
夢の中で本当に目が覚めました。
クエリアナライザーですぐに実行してください:
ログインが見えます。
プログラムを再度テストし、今度はついに動作した。 速度も非常に満足のいくものです。
原因分析:
ストアドプロシージャは事前コンパイルされるため、最初の実行時に実行計画が生成され、この実行計画は(再コンパイル指定されていない限り)後続の実行で使用されます。実行のたびに実行計画を生成するわけではありません。
ストアドプロシージャに関わるオブジェクト構造が調整されたり、関連データが大幅に変更されて元の計画が現在の現状(実行計画の期限切れ)に適さなくなる可能性がある場合、ストアドプロシージャは再コンパイルされるべきです。
最後に、ストアドプロシージャのコードを添付します:
ログインが見えます。
先の:
単一のAPPプロモーションページコードソースを共有してください。適応力があり、とても美しく寛大です!
次に:
C#オープンソースフレームワーク(再版)
関連記事
•
.NET/C#はPDFをImageMagickやGhostScriptに基づく画像に変換します
•
フロントエンドのウェブページは、WASMで関数を3つの方法で実行します
•
メジャー、マイナー、ビルドナンバー、リビジョンのバージョン番号に注釈が付けられています
•
【継続的な更新】Discuz X3.4プログラムの最適化とクレンジング
•
.NET/C#はMutexとMemoryMappedFileに基づくプログラムのシングルトンを実装しています
•
Roslynを使ってC#コードを動的にコンパイルし、実行します
•
.NET/C#はAssemblyLoadContextに基づくDLLプラグインのホットアップデートを実装しています
•
Guardian ASP.NET CoreアプリをPM2で起動してください
•
.NET Coreはアセンブリの一意のアイデンティティを取得します
•
NSIS(III)はプロセスの存在と終了の確認を行います
閲覧したセクション
MySQL
技術チャット
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com